Exception in thread "main" java.lang.NullPointerException at java.desktop/java.awt.Container.addImpl(Container.java:1117)
Давно не игрался Java-й , хотел сделать простенький калькулятор на JSwing-е, получаю такие ошибки при компиляции такого кода :
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import java.awt.GridLayout;
import java.awt.BorderLayout;
public class Calculator extends JFrame
{
JPanel windowContent;
JTextField displayField;
JButton button0;
JButton button1;
JButton button2;
JButton button3;
JButton button4;
JButton button5;
JButton button6;
JButton button7;
JButton button8;
JButton button9;
JButton buttonPoint;
JButton buttonEqual;
JPanel pl;
Calculator()
{
windowContent = new JPanel();
BorderLayout bl = new BorderLayout();
windowContent.setLayout(bl);
displayField = new JTextField(30);
windowContent.add("North", displayField);
button0 = new JButton("0");
button0 = new JButton("1");
button0 = new JButton("2");
button0 = new JButton("3");
button0 = new JButton("4");
button0 = new JButton("5");
button0 = new JButton("6");
button0 = new JButton("7");
button0 = new JButton("8");
button0 = new JButton("9");
buttonPoint = new JButton(".");
buttonEqual = new JButton("=");
pl = new JPanel();
GridLayout gl = new GridLayout(4, 3);
pl.setLayout(gl);
pl.add(button0);
pl.add(button1);
pl.add(button2);
pl.add(button3);
pl.add(button4);
pl.add(button5);
pl.add(button6);
pl.add(button7);
pl.add(button8);
pl.add(button9);
pl.add(buttonPoint);
pl.add(buttonEqual);
windowContent.add("Center", pl);
JFrame frame = new JFrame("Calculator");
frame.setContentPane(windowContent);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args)
{
Calculator calc = new Calculator();
}
}
Exception in thread "main" java.lang.NullPointerException
at java.desktop/java.awt.Container.addImpl(Container.java:1117)
at java.desktop/java.awt.Container.add(Container.java:436)
at Calculator.<init>(Calculator.java:66)
at Calculator.main(Calculator.java:91)
Версия Java : 8 Update 271 (build 1.8.0_271-b09)
Компилировал в Eclipse версии 2020-09 (4.17.0) Build id: 20200910-1200
Ответы (1 шт):
Автор решения: AVRamones
→ Ссылка
А почему у вас везде
button0 = new JButton("0");
button0 = new JButton("1");
button0 = new JButton("2");
...
Скорее всего нужно :
button0 = new JButton("0");
button1 = new JButton("1");
button2 = new JButton("2");
...
Вы вместо инициализации всех кнопок, 10 раз инициализировали одну.