I have problems with making exception if you write a String in a JTextField instead od integer. I want to sum input-numbers and write the result on a JButton, every time I clicked it. Every time I click on the button, I get en error: *
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at EnaP.actionPerformed(EnaP.java:12)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)...
*
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Ena {
public static JTextField a;
public static JTextField b;
public static void main(String[] args) {
JFrame okno = new JFrame();
okno.setSize(400, 200);
a = new JTextField("Number1");
b = new JTextField("Number2");
JButton gumb = new JButton("SUM");
gumb.setPreferredSize(new Dimension(200,200));
EnaP poslusalec = new EnaP();
gumb.addActionListener(poslusalec);
JPanel p = new JPanel();
p.add(a);
p.add(b);
okno.add(gumb, BorderLayout.EAST);
okno.add(p, BorderLayout.WEST);
okno.setTitle("Sum");
okno.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
okno.setVisible(true);
}
}
and other class - listener:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
public class EnaP implements ActionListener{
public void actionPerformed(ActionEvent e) {
JButton gumb = (JButton) e.getSource();
try{
String a = Ena.a.getSelectedText().toString();
String b = Ena.b.getSelectedText().toString();
int x = Integer.parseInt(a);
int y = Integer.parseInt(b);
int sum = x+y;
gumb.setText(""+sum);
}
catch (NumberFormatException n) {
System.out.println("Please enter a number.");
}
}
}
I don't know how to fix it...