الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة باستخدام gettext من JTextField و تخزينه بمصفوفة

بدأه صمت الفراشات في 19 أبريل 2011 · 7 رد · 612 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

عندي مشكلة بهذا البرنامج ما بقدر استخدم النص الي رجعته من التكست فيلد و ابعثه بفنكش لاخذزنه بمصفوفة

الخطأ موجود بالاكشن لسنر عند اختيار بوتن save و بطلعلي هذا الخطأ // موجود بكود باخر المشاركة

و هذا الكود كامل

package car;


import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class Main {

        public static void main(String[] args) {
        frame1 mf = new frame1();
        mf.setDefaultCloseOperation(mf.DO_NOTHING_ON_CLOSE);
        mf.setVisible(true);
        exit e = new exit(mf);
        mf.addWindowListener(e);
        }
}
//الشاشة الرئيسية
class frame1 extends JFrame {
     public int count = 1 ;
     JButton addCar ;
     JButton exit ;
     JButton search ;
     JLabel color ;
     JLabel price ;
     JLabel model ;
     JLabel power ;
     JLabel year ;
     JLabel getcolor ;
     JLabel getprice ;
     JLabel getmodel ;
     JLabel getpower ;
     JLabel getyear ;
     JLabel area ;
     JLabel name ;
     JLabel phone ;
     JButton ok ;
     JButton b1;
     JButton b2;
     JButton b3;
     JButton b4;
     JButton save ;
     JButton Cc1 ;


     JTextField text1;
     JTextField text2;
     JTextField text3;
     JTextField text4;
     JTextField text5;
     JTextField text6;
     JTextField textn;
     JTextField textph;
     JTextArea note ;


        public frame1() {
        setTitle("cars");
        setSize(600, 200);
        setLocation(300, 100);
        setLayout(new BorderLayout());
        mylistener6 t1 = new mylistener6();
        mylistener6 t2 = new mylistener6();        

        JPanel panel = new JPanel();
        addCar = new JButton("add new car");
        panel.add(addCar,BorderLayout.NORTH);
        addCar.addActionListener(t1);
        search = new JButton("search");
        search.addActionListener(t2);
        panel.add(search,BorderLayout.NORTH);


        add(panel,BorderLayout.NORTH);
        panel p = new panel();
        add(p,BorderLayout.CENTER);

        JPanel panel2 = new JPanel();
        add(panel2,BorderLayout.SOUTH);
        panel2.setLayout(new GridLayout());
        exit = new JButton("exit");
        mylistener6 t3 = new mylistener6();
        exit.addActionListener(t2);

        JPanel k1 = new JPanel();
        JPanel k2 = new JPanel();
        panel2.add(k1);
        panel2.add(exit);
        panel2.add(k2);


        }




//لاضافة سيارة جديدة
class frame2 extends JFrame {

        public frame2() {
        setTitle("add new cars");
        setSize(300, 300);
        setLocation(300, 100);
        setLayout(new BorderLayout());
         JPanel newCar = new JPanel();
         add(newCar,BorderLayout.NORTH);
         JLabel newCar1 = new JLabel("Add New Car");
         newCar.add(newCar1,BorderLayout.NORTH);

         JPanel C1 = new JPanel();

         add(C1,BorderLayout.CENTER);
         C1.setLayout(new GridLayout(10,2));
         Cc1 = new JButton("Character");
         C1.add(Cc1);
         JButton Cc2 = new JButton("Description");
         C1.add(Cc2);
         JLabel Model = new JLabel("     Model");
         C1.add(Model);
         text1 = new JTextField();
         C1.add(text1);
         JLabel Color = new JLabel("     Color");
         C1.add(Color);
         text2 = new JTextField();
         C1.add(text2);
         JLabel Price = new JLabel("     Price");
         C1.add(Price);
         text3 = new JTextField();
         C1.add(text3);
         JLabel year  = new JLabel("     year");
         C1.add(year);
         text4 = new JTextField();
         C1.add(text4);
         JLabel power  = new JLabel("     engine power");
         C1.add(power);
         text5 = new JTextField();
         C1.add(text5);
         JLabel area  = new JLabel("     other note");
         C1.add(area);
         note = new JTextArea();
         C1.add(note);

         JLabel kk  = new JLabel("====================");
         C1.add(kk);
         JLabel kkk  = new JLabel("====================");
         C1.add(kkk);
         JLabel n  = new JLabel("     owner name");
         C1.add(n);
         textn = new JTextField();
         C1.add(textn);
         JLabel ph  = new JLabel("     owner phone");
         C1.add(ph);
         textph = new JTextField();
         C1.add(textph);


        save = new JButton("Save");
        add(save,BorderLayout.SOUTH);

        mylistener6 q1 = new mylistener6();
        save.addActionListener(q1);
        }


}

Car [] car = new Car[100];

class frame3 extends JFrame {



        public frame3() {
        setTitle("info");
        setSize(300, 300);
        setLocation(300, 100);
        setLayout(new BorderLayout());
         JPanel info = new JPanel();
         add(info,BorderLayout.NORTH);
         info.setLayout(new GridLayout(8,2));
         model = new JLabel("   Model");
         color = new JLabel("   Color");
         price = new JLabel("   Price");
         power = new JLabel("   engine Power");
         year  = new JLabel("   year");

         /*
         getmodel = new JLabel(Integer.toString(car[count].getModel()));
         getcolor = new JLabel(car[count].getColor());
         getprice = new JLabel(Integer.toString(car[count].getPrice()));
         getpower = new JLabel(Integer.toString(car[count].getPower()));
         getyear  = new JLabel(Integer.toString(car[count].getYear()));

         add(model);
         add(getmodel);
         add(color);
         add(getcolor);
         ok = new JButton("ok");
         add(ok,BorderLayout.SOUTH);

         */


        }


}


//مكونات الشاشة الرئيسية
class panel extends JPanel {




        public panel() {

        setLayout(new GridLayout(4,4));

        b1 = new JButton("FORD");
        JPanel p1 = new JPanel();
        JPanel i1 = new JPanel();
        JPanel a1 = new JPanel();
        add(p1);
        add(i1);
        add(a1);
        add(b1);


        b2 = new JButton("BMW");
        JPanel p2 = new JPanel();
        JPanel i2 = new JPanel();
        JPanel a2 = new JPanel();
        add(p2);
        add(i2);
        add(a2);
        add(b2);

        b3 = new JButton("HONDA");
        JPanel p3 = new JPanel();
        JPanel i3 = new JPanel();
        JPanel a3 = new JPanel();
        add(p3);
        add(i3);
        add(a3);
        add(b3);

        b4 = new JButton("HONDA");
        JPanel p4 = new JPanel();
        JPanel i4 = new JPanel();
        JPanel a4 = new JPanel();
        add(p4);
        add(i4);
        add(a4);
        add(b4);


        mylistener6 l1 = new mylistener6();
        mylistener6 l2 = new mylistener6();
        mylistener6 l3 = new mylistener6();
        mylistener6 l4 = new mylistener6();
        b1.addActionListener(l1);
        b2.addActionListener(l2);
        b3.addActionListener(l3);
        b1.addActionListener(l4);


        }
}
    private  class mylistener6 implements ActionListener {


        public void actionPerformed(ActionEvent e) {
            frame2 g ;
            if(e.getSource()==save)
            {
                car[count].setModel(Integer.parseInt(text1.getText()));
                car[count].setColor(text2.getText());
                car[count].setPrice(Integer.parseInt(text3.getText()));
                car[count].setYear(Integer.parseInt(text4.getText()));
                car[count].setPower(Integer.parseInt(text5.getText()));
                car[count].setNote(note.getText()); 
                car[count].setPhone(Integer.parseInt(textph.getText()));
                car[count].setName(textn.getText());

                count++;
              //  System.exit(0);
            }

              if(e.getSource()==addCar)
            {
                frame2 f = new frame2();
                f.setVisible(true);
            }

            if(e.getSource()==exit)
            {
                System.exit(0);
            }

            if(e.getSource()==search)
            {
                frame3 f = new frame3();
                f.setVisible(true);
            }



        }
        } 



}

class exit extends WindowAdapter {

        public exit(JFrame f) {
        frame = f;
        }

        public void windowClosing(WindowEvent e) {
        int x = JOptionPane.showConfirmDialog(frame, "do you wont to exit", "exit",
                JOptionPane.OK_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE);
        if (x == JOptionPane.OK_OPTION) {
                System.exit(0);
        } else {
                frame.setLocation(0, 0);
        }
        }
        private JFrame frame;
}





class Car
{
    public String note ;
    public int model ;
    public int price ;
    public String color ;
    public int year ;
    public int power ;
    public String name ;
    public int phone ;


    public Car()
    {
        this.note = "" ;
        this.color = "" ;
        this.model = 0 ;
        this.price = 0 ;
        this.power = 0 ;
        this.year = 0 ;
        this.name = "";
        this.phone = 0 ;

    }
    public int getPower()  { return power ; }
    public int getYear()  { return year ;  }
    public String getNote()  {  return note;  }    
    public String getColor() {  return color ; }
    public String getName() {  return name ; }
    public int getModel() {  return model; }    
    public int getPrice()  {    return price ;  }
    public int getPhone() {  return phone ;  }
    public void setNote(String note)  {  this.note = note ;  }
    public void setPhone(int phone)  {  this.phone = phone ;  }
    public void setColor(String color){  this.color = color ;  }    
    public void setModel(int model) {  this.model = model ; }    
    public void setPrice(int price) {  this.price = price ;  }
    public void setPower(int power)  {  this.power = power ; }
    public void setYear(int year)  { this.year = year ; }
    public void setName(String name) { this.name = name ; }
}

الخطأ الي بيطلع

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at car.frame1$mylistener6.actionPerformed(Main.java:286)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
        at java.awt.Component.processMouseEvent(Component.java:6038)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
        at java.awt.Component.processEvent(Component.java:5803)
        at java.awt.Container.processEvent(Container.java:2058)
        at java.awt.Component.dispatchEventImpl(Component.java:4410)
        at java.awt.Container.dispatchEventImpl(Container.java:2116)
        at java.awt.Component.dispatchEvent(Component.java:4240)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
        at java.awt.Container.dispatchEventImpl(Container.java:2102)
        at java.awt.Window.dispatchEventImpl(Window.java:2429)
        at java.awt.Component.dispatchEvent(Component.java:4240)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at car.frame1$mylistener6.actionPerformed(Main.java:286)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
        at java.awt.Component.processMouseEvent(Component.java:6038)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
        at java.awt.Component.processEvent(Component.java:5803)
        at java.awt.Container.processEvent(Container.java:2058)
        at java.awt.Component.dispatchEventImpl(Component.java:4410)
        at java.awt.Container.dispatchEventImpl(Container.java:2116)
        at java.awt.Component.dispatchEvent(Component.java:4240)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
        at java.awt.Container.dispatchEventImpl(Container.java:2102)
        at java.awt.Window.dispatchEventImpl(Window.java:2429)
        at java.awt.Component.dispatchEvent(Component.java:4240)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

تم تعديل هذه المشاركة بواسطة صمت الفراشات في 19 أبريل 2011 في 00:34

#2

اعتقد انه يجب تخليق object من النوع car قبل اضافته ف ال array car هذا التعديل مااقصده

        	if (e.getSource() == save) {
            	Car c = new Car();

            	c.setModel(Integer.parseInt(text1.getText()));
            	c.setColor(text2.getText());
            	c.setPrice(Integer.parseInt(text3.getText()));
            	c.setYear(Integer.parseInt(text4.getText()));
            	c.setPower(Integer.parseInt(text5.getText()));
            	c.setNote(note.getText());
            	c.setPhone(Integer.parseInt(textph.getText()));
            	c.setName(textn.getText());
            	car[count] = c;
            	count++;
            	//  System.exit(0);
        	}

سيعمل معك الكود لكن اعتقد سيصادفك مشكلة بعد قليل حيث ان ال array car و المتغير count ليسوا static وبالتالي مع اضافة كل سيارة سيخلقوا من جديد

تحياتي

--

Mina Fouad

Computer & Systems Engineering Dpt.

Faculty of Engineering

Alexandria University

#3

ضعى فقط هذا السطر

            	car[count] = new Car();

بعد الاكشن الخاص بالـSave هكذا

if (e.getSource() == save) {
            	car[count] = new Car();

بالتوفيق

Software Developer
Mahmoudkelany.com


 

#4
this.note = "";
    	this.color = "";
    	this.model = 0;
    	this.price = 0;
    	this.power = 0;
    	this.year = 0;
    	this.name = "";
    	this.phone = 0;

هذه القيم هى القيم الافتراضيه للمتغيرات

يضعها المترجم اوتوماتيكياً

لستى بحاجه الى وضعها

1

Software Developer
Mahmoudkelany.com


 

#5
Mahmoud Kelany كتب:

ضعى فقط هذا السطر

            	car[count] = new Car();

بعد الاكشن الخاص بالـSave هكذا

if (e.getSource() == save) {
            	car[count] = new Car();

بالتوفيق

جزاك الله كل خير و يجعله بميزان حسناتك

فعلا فاتتني هذه الشغلة انو انا عملت أري من نووع السيارة بس مافي ولا اوبجكت !!

بس بتظهر شغلة ثانية انه اذا بينت الاوبجت بنفس المكان السابق ما بقدر استعملها الا بنفس الكلاس الي بنيتها فيه

لهيك جربت ابني الاري و اعبيها بالكلاس الكبيرة بس ما بيزبط :huh:

بيعطي ارور على الفور لووب !!!

هذا قصدي

package car;


import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class Main {

        public static void main(String[] args) {
        frame1 mf = new frame1();
        mf.setDefaultCloseOperation(mf.DO_NOTHING_ON_CLOSE);
        mf.setVisible(true);
        exit e = new exit(mf);
        mf.addWindowListener(e);
        }
}
//الشاشة الرئيسية
class frame1 extends JFrame {
     public int count = 0 ;
    public  Car [] car = new Car[100];
     for (int i=0;i<10;i++)
         car [0] = new Car();


     JButton addCar ;
     JButton exit ;
     JButton search ;
     JLabel color ;
     JLabel price ;
     JLabel model ;
     JLabel power ;
     JLabel year ;
     JLabel getcolor ;
     JLabel getprice ;
     JLabel getmodel ;
     JLabel getpower ;
     JLabel getyear ;
     JLabel area ;
     JLabel name ;
     JLabel phone ;
     JButton ok ;
     JButton b1;
     JButton b2;
     JButton b3;
     JButton b4;
     JButton save ;
     JButton Cc1 ;


     JTextField text1;
     JTextField text2;
     JTextField text3;
     JTextField text4;
     JTextField text5;
     JTextField text6;
     JTextField textn;
     JTextField textph;
     JTextArea note ;


        public frame1() {
        setTitle("cars");
        setSize(600, 200);
        setLocation(300, 100);
        setLayout(new BorderLayout());
        mylistener6 t1 = new mylistener6();
        mylistener6 t2 = new mylistener6();        

        JPanel panel = new JPanel();
        addCar = new JButton("add new car");
        panel.add(addCar,BorderLayout.NORTH);
        addCar.addActionListener(t1);
        search = new JButton("search");
        search.addActionListener(t2);
        panel.add(search,BorderLayout.NORTH);


        add(panel,BorderLayout.NORTH);
        panel p = new panel();
        add(p,BorderLayout.CENTER);

        JPanel panel2 = new JPanel();
        add(panel2,BorderLayout.SOUTH);
        panel2.setLayout(new GridLayout());
        exit = new JButton("exit");
        mylistener6 t3 = new mylistener6();
        exit.addActionListener(t2);

        JPanel k1 = new JPanel();
        JPanel k2 = new JPanel();
        panel2.add(k1);
        panel2.add(exit);
        panel2.add(k2);


        }




//لاضافة سيارة جديدة
class frame2 extends JFrame {

        public frame2() {
        setTitle("add new cars");
        setSize(300, 300);
        setLocation(300, 100);
        setLayout(new BorderLayout());
         JPanel newCar = new JPanel();
         add(newCar,BorderLayout.NORTH);
         JLabel newCar1 = new JLabel("Add New Car");
         newCar.add(newCar1,BorderLayout.NORTH);

         JPanel C1 = new JPanel();

         add(C1,BorderLayout.CENTER);
         C1.setLayout(new GridLayout(10,2));
         Cc1 = new JButton("Character");
         C1.add(Cc1);
         JButton Cc2 = new JButton("Description");
         C1.add(Cc2);
         JLabel Model = new JLabel("     Model");
         C1.add(Model);
         text1 = new JTextField();
         C1.add(text1);
         JLabel Color = new JLabel("     Color");
         C1.add(Color);
         text2 = new JTextField();
         C1.add(text2);
         JLabel Price = new JLabel("     Price");
         C1.add(Price);
         text3 = new JTextField();
         C1.add(text3);
         JLabel year  = new JLabel("     year");
         C1.add(year);
         text4 = new JTextField();
         C1.add(text4);
         JLabel power  = new JLabel("     engine power");
         C1.add(power);
         text5 = new JTextField();
         C1.add(text5);
         JLabel area  = new JLabel("     other note");
         C1.add(area);
         note = new JTextArea();
         C1.add(note);

         JLabel kk  = new JLabel("====================");
         C1.add(kk);
         JLabel kkk  = new JLabel("====================");
         C1.add(kkk);
         JLabel n  = new JLabel("     owner name");
         C1.add(n);
         textn = new JTextField();
         C1.add(textn);
         JLabel ph  = new JLabel("     owner phone");
         C1.add(ph);
         textph = new JTextField();
         C1.add(textph);


        save = new JButton("Save");
        add(save,BorderLayout.SOUTH);

        mylistener6 q1 = new mylistener6();
        save.addActionListener(q1);
        }


}



class frame3 extends JFrame {



        public frame3() {
        setTitle("info");
        setSize(300, 300);
        setLocation(300, 100);
        setLayout(new BorderLayout());
         JPanel info = new JPanel();
         add(info,BorderLayout.NORTH);
         info.setLayout(new GridLayout(8,2));
         model = new JLabel("   Model");
         color = new JLabel("   Color");
         price = new JLabel("   Price");
         power = new JLabel("   engine Power");
         year  = new JLabel("   year");


         getmodel = new JLabel(Integer.toString(car[count].getModel()));
         getcolor = new JLabel(car[count].getColor());
         getprice = new JLabel(Integer.toString(car[count].getPrice()));
         getpower = new JLabel(Integer.toString(car[count].getPower()));
         getyear  = new JLabel(Integer.toString(car[count].getYear()));

         add(model);
         add(getmodel);
         add(color);
         add(getcolor);
         ok = new JButton("ok");
         add(ok,BorderLayout.SOUTH);




        }


}


//مكونات الشاشة الرئيسية
class panel extends JPanel {




        public panel() {

        setLayout(new GridLayout(4,4));

        b1 = new JButton("FORD");
        JPanel p1 = new JPanel();
        JPanel i1 = new JPanel();
        JPanel a1 = new JPanel();
        add(p1);
        add(i1);
        add(a1);
        add(b1);


        b2 = new JButton("BMW");
        JPanel p2 = new JPanel();
        JPanel i2 = new JPanel();
        JPanel a2 = new JPanel();
        add(p2);
        add(i2);
        add(a2);
        add(b2);

        b3 = new JButton("HONDA");
        JPanel p3 = new JPanel();
        JPanel i3 = new JPanel();
        JPanel a3 = new JPanel();
        add(p3);
        add(i3);
        add(a3);
        add(b3);

        b4 = new JButton("HONDA");
        JPanel p4 = new JPanel();
        JPanel i4 = new JPanel();
        JPanel a4 = new JPanel();
        add(p4);
        add(i4);
        add(a4);
        add(b4);


        mylistener6 l1 = new mylistener6();
        mylistener6 l2 = new mylistener6();
        mylistener6 l3 = new mylistener6();
        mylistener6 l4 = new mylistener6();
        b1.addActionListener(l1);
        b2.addActionListener(l2);
        b3.addActionListener(l3);
        b1.addActionListener(l4);


        }
}
    private  class mylistener6 implements ActionListener {


        public void actionPerformed(ActionEvent e) {
            frame2 g ;
            if(e.getSource()==save)
            {
                car[count].setModel(Integer.parseInt(text1.getText()));
                car[count].setColor(text2.getText());
                car[count].setPrice(Integer.parseInt(text3.getText()));
                car[count].setYear(Integer.parseInt(text4.getText()));
                car[count].setPower(Integer.parseInt(text5.getText()));
                car[count].setNote(note.getText()); 
                car[count].setPhone(Integer.parseInt(textph.getText()));
                car[count].setName(textn.getText());

                count++;
              //  System.exit(0);
            }

              if(e.getSource()==addCar)
            {
                frame2 f = new frame2();
                f.setVisible(true);
            }

            if(e.getSource()==exit)
            {
                System.exit(0);
            }

            if(e.getSource()==search)
            {
                frame3 f = new frame3();
                f.setVisible(true);
            }



        }
        } 



}

class exit extends WindowAdapter {

        public exit(JFrame f) {
        frame = f;
        }

        public void windowClosing(WindowEvent e) {
        int x = JOptionPane.showConfirmDialog(frame, "do you wont to exit", "exit",
                JOptionPane.OK_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE);
        if (x == JOptionPane.OK_OPTION) {
                System.exit(0);
        } else {
                frame.setLocation(0, 0);
        }
        }
        private JFrame frame;
}





class Car
{
    public String note ;
    public int model ;
    public int price ;
    public String color ;
    public int year ;
    public int power ;
    public String name ;
    public int phone ;


    public Car()
    {

    }
    public int getPower()  { return power ; }
    public int getYear()  { return year ;  }
    public String getNote()  {  return note;  }    
    public String getColor() {  return color ; }
    public String getName() {  return name ; }
    public int getModel() {  return model; }    
    public int getPrice()  {    return price ;  }
    public int getPhone() {  return phone ;  }
    public void setNote(String note)  {  this.note = note ;  }
    public void setPhone(int phone)  {  this.phone = phone ;  }
    public void setColor(String color){  this.color = color ;  }    
    public void setModel(int model) {  this.model = model ; }    
    public void setPrice(int price) {  this.price = price ;  }
    public void setPower(int power)  {  this.power = power ; }
    public void setYear(int year)  { this.year = year ; }
    public void setName(String name) { this.name = name ; }
}
#6

بتعملى الـfor loop داخل الكلاس على طول

لكن لا يجوز كتابه اى اكواد فيها منطق او اى شىء الا ان تكون بداخل داله

يعنى اجعلى الللوب داخل الـ constructor او داخل داله

هكذا

for (int i = 0; i < car.length; i++) {
        	car[0] = new Car();
    	}

تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 19 أبريل 2011 في 18:07

Software Developer
Mahmoudkelany.com


 

#7

شكرا أخ محمد زبطت معي ،، و ان شاء الله بكمل هالبرنامج على خير :wacko:

#8

السلام عليكم

عدنا للبرنامج هههه

هذا البرنامج هو لمحاكات برنامج اعلان عن سيارات مثل بحيث اني بضيف البيانات على الاري الي من اوبجكت كلاس و فيها كل المعلومات اللازمة

المفروض مني اعمل انه بعد اول اضافة للسيارات تظهر اسمها و كم معلوم بالفريم الاسياسية مثل ما رح يبين بعد تنفيذ البرنامج و هو فعلا هيك بيظهر

لكن المشكلة انه لازم لما اضغط على موديل السيارة تظهري جميع بياناتها بفريم ثانية مع صورتها ( بس الصورة بحاول اعملها مرة ثانية) المهم الان هو بالاكشن لسنر لموديل السيارة يكون يظهر بياناتها

يا ريت تساعدوني بسرعة فيه ،، و ربنا يجازيكوا بالخير دائما :happy:

هذا الكود (طويل ااه بس ما لقيت طرق ثانية اعمله و الدكتور مش راضي يغير فكرة المشروع :wacko: )

package car;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class Main {

        public static void main(String[] args) {
        boolean start = true ;    
        m mf = new m();
        mf.mainn();
        mf.setDefaultCloseOperation(mf.DO_NOTHING_ON_CLOSE);
      //  mf.setVisible(true);
        exit e = new exit(mf);
        mf.addWindowListener(e);
        }
}
//الشاشة الرئيسية
class m extends JFrame {
    public int count = 1 , p = 0;
     public  Car [] car = new Car[100];
     int []v = new int [100];
     String searchedCar ;
     JButton getCarinfo1 ;
     JButton addCar ;
     JButton exit ;
     JButton search ;
     JLabel color ;
     JLabel price ;
     JLabel model ;
     JLabel power ;
     JLabel year ;
     JLabel toyear ;
     JLabel getcolor ;
     JLabel getprice ;
     JLabel getmodel ;
     JLabel getpower ;
     JLabel getyear ;
     JLabel area ;
     JLabel name ;
     JLabel phone ;
     JButton ok ;
     JButton b1;
     JButton b2;
     JButton b3;
     JButton b4;
     JButton b5;
     JButton b6;
     JButton save ;
     JButton Cc1 ;
     JButton searchB ;
     String  b;
     JTextField text2;
     JTextField text3;
     JTextField text4;
     JTextField text5;
     JTextField text6;
     JTextField textn;
     JTextField textph;
     JTextArea note ;
     JComboBox modelBox ;
     JComboBox yearBox ;
     JComboBox yearsearch ;
      JComboBox toyearBox ;
     JComboBox toyearsearch ;
     String[] modelType = {
         "Hyundai","Mercedes","BMW","BEGO","Toyota","Suzuki",
         "Kia","Mazda","Mitsubishi","Nissan","Lexus","Volkswagen","Subaru"};

     String[] yearSearch = {
         "1995","1996","1997","1998","1999","2000",
         "2001","2002","2003","2004","2005","2005",
         "2006","2007","2008","2009","2010","2011"};

   public m()
   {
   for(int i=0;i<100;i++)
   {
       car = new Car();
   }
   }
     public void mainn()
     {
         frame1 j = new frame1();
         j.setVisible(true);

     }

class frame1 extends JFrame {



        public void mmm(int g)
        {
                count++;


        }


         public frame1()
        {

        setTitle("cars");
        setSize(500, 350);
        setLocation(300, 100);
        setLayout(new BorderLayout());
        mylistener6 t1 = new mylistener6();
        mylistener6 t2 = new mylistener6();        

        JPanel panel = new JPanel();
        addCar = new JButton("add new car");
        panel.add(addCar,BorderLayout.NORTH);
        addCar.addActionListener(t1);
        search = new JButton("search");
        search.addActionListener(t2);
        panel.add(search,BorderLayout.NORTH);


        add(panel,BorderLayout.NORTH);
        JPanel p = new JPanel();



         mylistener6 l1 = new mylistener6();
         if(count>=0)  {
                p.setLayout(new GridLayout(6,4));
                for(int k=1;k<=5;k++){
                int i = 0 ;
                String s = "        "+car[k].getColor()+"           "+car[k].getPower()
                         + "        "+car[k].getPrice()+"           " ; 
             getCarinfo1 = new JButton(car[k].getModel());
             JLabel SSS1 = new JLabel(s); 
             p.add(getCarinfo1);
             p.add(SSS1);
             getCarinfo1.addActionListener(l1);
                }

         }
       // mylistener6 l1 = new mylistener6();
        mylistener6 l2 = new mylistener6();
        mylistener6 l3 = new mylistener6();
        mylistener6 l4 = new mylistener6();

        add(p,BorderLayout.CENTER);

        JPanel panel2 = new JPanel();
        add(panel2,BorderLayout.SOUTH);
        panel2.setLayout(new GridLayout());
        exit = new JButton("exit");
        mylistener6 t3 = new mylistener6();
        exit.addActionListener(t2);





        JPanel k1 = new JPanel();
        JPanel k2 = new JPanel();
        panel2.add(k1);
        panel2.add(exit);
        panel2.add(k2);


        }




//لاضافة سيارة جديدة
class frame2 extends JFrame {

        public frame2() {
        setTitle("add new cars");
        setSize(500, 350);
        setLocation(300, 100);
        setLayout(new BorderLayout());
         JPanel newCar = new JPanel();
         add(newCar,BorderLayout.NORTH);
         JLabel newCar1 = new JLabel("Add New Car");
         newCar.add(newCar1,BorderLayout.NORTH);

         JPanel C1 = new JPanel();

         add(C1,BorderLayout.CENTER);
         C1.setLayout(new GridLayout(12,2));
         Cc1 = new JButton("Character");
         C1.add(Cc1);
         JButton Cc2 = new JButton("Description");
         C1.add(Cc2);
         JLabel Model = new JLabel("     Model");
         C1.add(Model);


         modelBox = new JComboBox(modelType);
         C1.add(modelBox);
         JLabel Color = new JLabel("     Color");
         C1.add(Color);
         text2 = new JTextField();
         C1.add(text2);
         JLabel Price = new JLabel("     Price");
         C1.add(Price);
         text3 = new JTextField();
         C1.add(text3);
         JLabel year  = new JLabel("     year");
         C1.add(year);
         text4 = new JTextField();
         C1.add(text4);
         JLabel power  = new JLabel("     engine power");
         C1.add(power);
         text5 = new JTextField();
         C1.add(text5);
         JLabel area  = new JLabel("     other note");
         C1.add(area);
         note = new JTextArea();
         C1.add(note);
         JLabel kk  = new JLabel("************************************************");
         C1.add(kk);
         JLabel kkk  = new JLabel("************************************************");
         C1.add(kkk);
         JLabel n  = new JLabel("     owner name");
         C1.add(n);
         textn = new JTextField();
         C1.add(textn);
         JLabel ph  = new JLabel("     owner phone");
         C1.add(ph);
         textph = new JTextField();
         C1.add(textph);

         JLabel kk1  = new JLabel("***********************************************");
         C1.add(kk1);
         JLabel kkk1  = new JLabel("***********************************************");
         C1.add(kkk1);

        JPanel savepanel = new JPanel() ;
        add(savepanel,BorderLayout.SOUTH);
        save = new JButton("Save");
        savepanel.add(save);

        mylistener6 q1 = new mylistener6();
        save.addActionListener(q1);
        }


}




//للبحث عن سيارة 
class frame3 extends JFrame {



        public frame3() {setTitle("Search for cars");
        setSize(500, 350);
        setLocation(300, 100);
        setLayout(new BorderLayout());
         JPanel SearchCar = new JPanel();
         add(SearchCar,BorderLayout.NORTH);
         JLabel searchCar = new JLabel("choise the characters fo the car");
         SearchCar.add(searchCar,BorderLayout.NORTH);

         JPanel S1 = new JPanel();

         add(S1,BorderLayout.CENTER);
         S1.setLayout(new GridLayout(8,2));
         JButton CS1 = new JButton("Character");
         S1.add(CS1);
         JButton CS2 = new JButton("Description");
         S1.add(CS2);
         JLabel Model = new JLabel("           Model");
         S1.add(Model);


         modelBox = new JComboBox(modelType);
         S1.add(modelBox);
         JLabel Year = new JLabel("          From Year");
         S1.add(Year);

         yearBox = new JComboBox(yearSearch);
         S1.add(yearBox);

         JLabel toYear = new JLabel("          To Year");
         S1.add(toYear);
         toyearBox = new JComboBox(yearSearch);
         S1.add(toyearBox);

         JLabel SSS1 = new JLabel("     ");
         JLabel SSS2 = new JLabel("     ");
         JLabel SSS3 = new JLabel("     ");
         JLabel SSS4 = new JLabel("     ");
         JLabel SSS5 = new JLabel("     ");
         JLabel SSS6 = new JLabel("     ");

         S1.add(SSS1);
         S1.add(SSS2);
         S1.add(SSS3);
         S1.add(SSS4);
         S1.add(SSS5);
         S1.add(SSS6);

         JPanel r = new JPanel();
         add(r,BorderLayout.SOUTH);
         searchB = new JButton("search");
         r.add(searchB);

         mylistener6 searchButton = new mylistener6();
         searchB.addActionListener(searchButton);

        }
}   




class search extends JFrame 
{
    public search()
    {
       setTitle("cars");
        setSize(500, 350);
        setLocation(300, 100);
        setLayout(new BorderLayout());
        mylistener6 t1 = new mylistener6();
        mylistener6 t2 = new mylistener6();        

        JPanel panel = new JPanel();

        JLabel dd = new JLabel(searchedCar);
        add(dd,BorderLayout.NORTH);

        add(panel,BorderLayout.CENTER);
        JPanel pan = new JPanel();


         b = Integer.toString(count) ; 
         if(count>0)  {
                pan.setLayout(new GridLayout(7,4));

                for(int k=1; k < 6 ;k++){
                int i = 0 ;
                String s = "        "+car[v[k]].getColor()+"           "+car[v[k]].getPower()
                         + "        "+car[v[k]].getPrice()+"           " ; 
             JButton getCarinfo1 = new JButton(car[v[k]].getModel());
             JLabel SSS1 = new JLabel(s); 
             pan.add(getCarinfo1);
             pan.add(SSS1);
                }

         }
        mylistener6 l1 = new mylistener6();
        mylistener6 l2 = new mylistener6();
        mylistener6 l3 = new mylistener6();
        mylistener6 l4 = new mylistener6();

        add(pan,BorderLayout.CENTER);

        JPanel panel2 = new JPanel();
        add(panel2,BorderLayout.SOUTH);
        panel2.setLayout(new GridLayout());
        exit = new JButton("exit");
        mylistener6 t3 = new mylistener6();
        exit.addActionListener(t2);





        JPanel k1 = new JPanel();
        JPanel k2 = new JPanel();
        panel2.add(k1);
        panel2.add(exit);
        panel2.add(k2);


        }

}




    private  class mylistener6 implements ActionListener {


        public void actionPerformed(ActionEvent e) {
            if(e.getSource()==save)//كود اضافة سيارة جديدة    
            {

                int select = modelBox.getSelectedIndex() ;
                car[count].setModel(modelType[select]);
                car[count].setColor(text2.getText());
                car[count].setPrice(text3.getText());
                car[count].setYear(text4.getText());
                car[count].setPower(text5.getText());
                car[count].setNote(note.getText()); 
                car[count].setPhone(textph.getText());
                car[count].setName(textn.getText());

                count++;

                frame1 f = new frame1();
                f.setVisible(true);


            }


               if(e.getSource()==getCarinfo1)
            {


            }

              if(e.getSource()==addCar)
            {
                frame2 f = new frame2();
                f.setVisible(true);
            }

            if(e.getSource()==exit)
            {
                System.exit(0);
            }

            if(e.getSource()==search)
            {
                frame3 f = new frame3();
                f.setVisible(true);
            }

            if(e.getSource()==searchB)    //كود عملية البحث عن السيارة المطلوبة حسب الموديل و السنة 
            {


                     p = 1 ;
                    int select = yearBox.getSelectedIndex() ;
                    String selectItem = yearSearch[select] ;
                    int toselect = toyearBox.getSelectedIndex() ;
                    String toselectItem = yearSearch[toselect] ;
                    int selectmodel = modelBox.getSelectedIndex();
                    String selectModel = modelType[selectmodel];
                    searchedCar = selectModel ;
                    for(int i= 0 ; i<=count ; i++ )

                    {
                             if(car.getModel()== selectModel &&
                                     Integer.parseInt(car.getYear())>Integer.parseInt(selectItem) && 
                                     Integer.parseInt(car.getYear())<Integer.parseInt(toselectItem))
                             {
                                 vبسم الله الرحمن الرحيم = i ;
                                 p++;
                             }

                    } //end for loop

                    search se = new search();
                    se.setVisible(true);


            }//end big is 

            }



        }
        }

}



class exit extends WindowAdapter {

        public exit(JFrame f) {
        frame = f;
        }

        public void windowClosing(WindowEvent e) {
        int x = JOptionPane.showConfirmDialog(frame, "do you wont to exit", "exit",
                JOptionPane.OK_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE);
        if (x == JOptionPane.OK_OPTION) {
                System.exit(0);
        } else {
                frame.setLocation(0, 0);
        }
        }
        private JFrame frame;
}





class Car
{
    public String carnote ;
    public String carmodel ;
    public String carprice ;
    public String carcolor ;
    public String caryear ;
    public String carpower ;
    public String carname ;
    public String carphone ;


    public Car()
    {
       carmodel = "";
       carprice = "";
       carnote = "";
       carcolor = "";
       caryear = "" ;
       carpower = "";
       carname = "";
       carphone = "";

    }
    public String getPower()  { return carpower ; }
    public String getYear()  { return caryear ;  }
    public String getNote()  {  return carnote;  }    
    public String getColor() {  return carcolor ; }
    public String getName() {  return carname ; }
    public String getModel() {  return carmodel; }    
    public String getPrice()  {    return carprice ;  }
    public String getPhone() {  return carphone ;  }
    public void setNote(String carnote)  {  this.carnote = carnote ;  }
    public void setPhone(String carphone)  {  this.carphone = carphone ;  }
    public void setColor(String carcolor){  this.carcolor = carcolor ;  }    
    public void setModel(String carmodel) {  this.carmodel = carmodel ; }    
    public void setPrice(String carprice) {  this.carprice = carprice ;  }
    public void setPower(String carpower)  {  this.carpower = carpower ; }
    public void setYear(String caryear)  { this.caryear = caryear ; }
    public void setName(String carname) { this.carname = carname ; }


}

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…