Witam mam problem z kodem.Przy kompilacji pliku Formularz wyświetla mi takie błędy.Otwieram z głównego okna JFrame Okno.
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at javaapplication33.Formularz.actionPerformed(Formularz.java:74)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6504)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6269)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4860)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4686)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2713)
at java.awt.Component.dispatchEvent(Component.java:4686)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707)
at java.awt.EventQueue.access$000(EventQueue.java:101)
at java.awt.EventQueue$3.run(EventQueue.java:666)
at java.awt.EventQueue$3.run(EventQueue.java:664)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:680)
at java.awt.EventQueue$4.run(EventQueue.java:678)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:677)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
BUILD SUCCESSFUL (total time: 22 seconds)
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import javax.swing.*;
import java.awt.*;
import java.awt.datatransfer.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class Okno extends JFrame {
public Okno() {
super("PROGRAMOWANIE SIECIOWE-PROJEKT");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setJMenuBar(createMenu());
getContentPane().add(new JNotepad());
setSize(500, 400);
setVisible(true);
}
protected JMenuBar createMenu() {
JMenuBar Menu = new JMenuBar();
JMenu m1 = new JMenu("Opcje");
JMenu m2 = new JMenu("O Autorze");
JMenuItem m1_1 = new JMenuItem("Odczyt i Zapis do pliku");
JMenuItem m1_2 = new JMenuItem("Odczyt do obiektu");
JMenuItem m1_3 = new JMenuItem("Wyjście");
JMenuItem m2_1 = new JMenuItem("Autor");
m1_1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D, ActionEvent.ALT_MASK));
m1_2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F, ActionEvent.ALT_MASK));
m1_3.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E, ActionEvent.ALT_MASK));
m2_1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, ActionEvent.ALT_MASK));
m1.setIcon(new ImageIcon("images/1-1.png"));
m2.setIcon(new ImageIcon("images/1.png"));
m2_1.setIcon(new ImageIcon("images/2.png"));
m1_1.setIcon(new ImageIcon("images/8.png"));
m1_2.setIcon(new ImageIcon("images/3.png"));
m1_3.setIcon(new ImageIcon("images/koniec.png"));
m1_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e2) {
getContentPane().removeAll();
getContentPane().add(new JNotepad());
setSize(500, 400);
setVisible(true);
}
});
m1_2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e2) {
getContentPane().removeAll();
getContentPane().add(new Formularz());
setSize(500, 400);
setVisible(true);
}
});
m1_3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
System.exit(0);
}
});
m2_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
JOptionPane.showMessageDialog(rootPane, "*** ***");
}
});
setVisible(true);
Menu.add(m1);
Menu.add(m2);
m1.add(m1_1);
m1.add(m1_2);
m1.add(m1_3);
m2.add(m2_1);
return Menu;
}
public static void main(String[] args) {
Okno frame = new Okno();
frame.setSize(500, 400);
frame.setVisible(true);
frame.setDefaultCloseOperation(3);
frame.pack();
}
}
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
class Formularz extends JPanel implements ActionListener {
JTextField pole,pole1,pole2,pole3;
JTextArea area;
Planeta planeta;
Formularz() {
// Set the layout to a y-axis BoxLayout
setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
// Create three components
TextField pole = new TextField(15);
TextField pole1 = new TextField(15);
TextField pole2 = new TextField(15);
TextField pole3 = new TextField(15);
JButton przycisk = new JButton("Zapisz planetę", new ImageIcon("images/7.gif"));
//JMenuItem przycisk=new JMenuItem("Zapisz planetę", new ImageIcon("images/7.gif"));
//przycisk.setBackground (SystemColor.control);
// Add the three components to the BoxLayout
JLabel etykieta=new JLabel("Nazwa pliku");
JLabel etykieta1=new JLabel("Nazwa planety");
JLabel etykieta2=new JLabel("Średnica planety");
JLabel etykieta3=new JLabel("Dlugość roku ziemskiego");
//pole=new JTextField(15);
add(etykieta);
add(etykieta1);
add(etykieta2);
add(etykieta3);
//add(new JLabel("TextField:"));
add(pole);
add(pole1);
add(pole2);
add(pole3);
//add(new JLabel("TextArea:"));
//add(textArea);
//add(new JLabel(""));
przycisk.addActionListener(this);
add(przycisk);
}
public void actionPerformed(ActionEvent e){
String nazwa=pole.getText();
String nazwaPlanety=pole1.getText();
int srednica=Integer.parseInt(pole2.getText().trim());
float dlugosc=Float.parseFloat(pole3.getText().trim());
planeta=new Planeta(nazwaPlanety,srednica,dlugosc);
try{
ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream(nazwa));
oos.writeObject(planeta);
oos.flush();
oos.close();
}catch(Exception ek){}
}
}
class Planeta implements Serializable{
String nazwa;
int srednica;
float dlugoscRoku;
public Planeta(String n,int s,float d){
nazwa=n;
srednica=s;
dlugoscRoku=d;
}
public String getNazwa(){ return nazwa;}
public int getSrednica(){ return srednica;}
public float getDlugoscRoku(){ return dlugoscRoku;}
}