简体   繁体   English

国际象棋程序的线程“main”java.lang.NullPointerException中的异常

[英]Exception in thread “main” java.lang.NullPointerException for my chess program

I'm trying to write a 4 square chess game. 我正在尝试写一个4平方的国际象棋游戏。 I want to add buttons for up, down, left, right, left up diag, left down diag, right up diag and right down diag. 我想添加上,下,左,右,左上图,左上图,右图和右下图的按钮。 After I tried adding my buttons, it started giving me the error. 在我尝试添加按钮后,它开始给我错误。

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

You forgot to initialize your buttons panel 您忘记初始化buttons面板了

Thus when doing buttons.add(up); 因此在做buttons.add(up); it throws a NullPointerException . 它会抛出NullPointerException

NullPointerException is often easy to catch. NullPointerException通常很容易捕获。 Check the error stack and you we'll see at which lane this is thrown and therefore can detect what have not been initialized. 检查错误堆栈,我们将看到抛出哪个通道,因此可以检测到尚未初始化的通道。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 DVD分类程序中的线程“ main”中的异常java.lang.NullPointerException - Exception in thread “main” java.lang.NullPointerException in DVD sorting program 我的休眠程序在线程“ main” java.lang.NullPointerException中获取异常 - Getting Exception in thread “main” java.lang.NullPointerException for my hibernate program , 线程“main”中的异常 java.lang.NullPointerException - ,Exception in thread "main" java.lang.NullPointerException 线程“ main”中的异常java.lang.NullPointerException - Exception in thread “main” java.lang.NullPointerException “线程“ main”中的异常java.lang.NullPointerException” - “Exception in thread ”main“ java.lang.NullPointerException” 线程“ main”中的异常java.lang.NullPointerException - Exception in thread “main” java.lang.NullPointerException 我在程序中得到了(线程“ main” java.lang.NullPointerException中的异常) - i get (Exception in thread “main” java.lang.NullPointerException) in my program 线程“ main”中的异常java.lang.NullPointerException - Exception in thread “main” java.lang.NullPointerException 线程“main”中的异常 java.lang.NullPointerException 5 - Exception in thread "main" java.lang.NullPointerException 5 线程“ main”中的异常java.lang.NullPointerException [java] - Exception in thread “main” java.lang.NullPointerException [java]
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM