السلام عليكم
عندي مشكلة بهذا البرنامج ما بقدر استخدم النص الي رجعته من التكست فيلد و ابعثه بفنكش لاخذزنه بمصفوفة
الخطأ موجود بالاكشن لسنر عند اختيار بوتن 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)