gpt4 book ai didi

java - 我的国际象棋程序的线程 "main"java.lang.NullPointerException 中出现异常

转载 作者:行者123 更新时间:2023-12-02 06:37:23 24 4
gpt4 key购买 nike

我正在尝试编写一个 4 方棋游戏。我想添加向上、向下、向左、向右、左上诊断、左下诊断、右上诊断和右下诊断的按钮。在我尝试添加按钮后,它开始出现错误。

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();
}
}

最佳答案

您忘记初始化按钮面板

因此,当执行 buttons.add(up); 时,它会抛出 NullPointerException

NullPointerException 通常很容易捕获。检查错误堆栈,我们将看到这是在哪个 channel 引发的,因此可以检测到尚未初始化的内容。

关于java - 我的国际象棋程序的线程 "main"java.lang.NullPointerException 中出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19492163/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com