“线程中的异常”;“主要”;我的国际象棋程序的java.lang.NullPointerException
我在试着写一盘四方棋。我想为up、down、left、right、left up diag、left down diag、right up diag和right down diag添加按钮。在我尝试添加按钮后,它开始显示错误“线程中的异常”;“主要”;我的国际象棋程序的java.lang.NullPointerException,java,swing,exception,pointers,awt,Java,Swing,Exception,Pointers,Awt,我在试着写一盘四方棋。我想为up、down、left、right、left up diag、left down diag、right up diag和right down diag添加按钮。在我尝试添加按钮后,它开始显示错误 import java.awt.*; import javax.swing.*; import java.awt.event.*; class chessGame extends JFrame implements ActionListener { JPanel
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
class chessGame extends JFrame implements ActionListener {
JPanel p1, p2, p3, p4, buttons;
JButton up, down, left, right, lud, ldd, rud, rdd;
chessGame() {
Container c = getContentPane();
p1 = new JPanel();
p1.setBackground(Color.black);
p1.setOpaque(true);
p1.setLocation(200,200);
p1.setPreferredSize(new Dimension(90, 90));
p2 = new JPanel();
p2.setBackground(Color.white);
p2.setOpaque(true);
p2.setLocation(250,200);
p2.setPreferredSize(new Dimension(90, 90));
p3 = new JPanel();
p3.setBackground(Color.white);
p3.setOpaque(true);
p3.setLocation(300,300);
p3.setPreferredSize(new Dimension(90, 90));
p4 = new JPanel();
p4.setBackground(Color.black);
p4.setOpaque(true);
p4.setLocation(550,500);
p4.setPreferredSize(new Dimension(90, 90));
up = new JButton("UP");
down = new JButton("DOWN");
left = new JButton("LEFT");
right = new JButton("RIGHT");
lud = new JButton("LEFT UP DIAG.");
ldd = new JButton("LEFT DOWN DIAG.");
rud = new JButton("RIGHT UP DIAG.");
rdd = new JButton("RIGHT DOWN DIAG.");
buttons.add(up);
buttons.add(down);
buttons.add(left);
buttons.add(right);
buttons.add(lud);
buttons.add(ldd);
buttons.add(rud);
buttons.add(rdd);
c.add(p1);
c.add(p2);
c.add(p3);
c.add(p4);
c.add(buttons);
c.setLayout(new FlowLayout());
setVisible(true);
setSize(200,400);
setResizable(false);
}
public void actionPerformed(ActionEvent e) {
}
public static void main(String[] args) {
chessGame output = new chessGame();
}
}
您忘记初始化
按钮
面板
因此,在执行按钮时,添加(up)
它抛出一个NullPointerException
NullPointerException
通常很容易捕获。检查错误堆栈,我们将看到在哪个通道抛出该错误,因此可以检测哪些未初始化。这是一个简单的类。请在eclipse/netbeans中调试它,您将发现问题所在。