Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中,将按钮的2D数组从一个类返回到另一个类_Java_Arrays_User Interface_Jbutton - Fatal编程技术网

在java中,将按钮的2D数组从一个类返回到另一个类

在java中,将按钮的2D数组从一个类返回到另一个类,java,arrays,user-interface,jbutton,Java,Arrays,User Interface,Jbutton,在将二维按钮数组从一个类返回到另一个类时,我遇到了一个小问题。当我运行这个程序时,它给出了(java.lang.NullPointerException):( 我上了3节课……下面给出了2节主要课: package chess; import java.awt.Color; import java.awt.GridLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel;

在将二维按钮数组从一个类返回到另一个类时,我遇到了一个小问题。当我运行这个程序时,它给出了(java.lang.NullPointerException):(

我上了3节课……下面给出了2节主要课:

package chess;

import java.awt.Color;
import java.awt.GridLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Controller {

    private JFrame frame;
    private JPanel[][] panel;
    private JButton[][] c_buttons;
    private Players player;
    public int i,j;

    public Controller(){

        frame = new JFrame("Chess By HUS$AM");
        panel = new JPanel[10][10];
        c_buttons = new JButton[4][9];

        player = new Players();

        // HERE I AM RETURNING BUTTONS FROM Players CLASS USING METHOD...
        c_buttons = player.computer_pawn_players(); 

        for(i=1; i<=8; i++){
            for(j=1; j<=8; j++){

                panel[i][j]= new JPanel();

            }
        }

        for(j=1; j<=8; j++)
            panel[2][j].add(c_buttons[2][j]);

        frame.setLayout(new GridLayout(8,8));

        for(i=1; i<=8; i++){    
            for(j=1; j<=8; j++){
                frame.add(panel[i][j]);

                if ((i + j) % 2 == 0) panel[i][j].setBackground(Color.black);
                else panel[i][j].setBackground(Color.white);
            }   
        }//end outer for loop

        frame.setSize(600,500);
        frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
        frame.setVisible(true);


    }//end constructor

}//end controller class
包棋;
导入java.awt.Color;
导入java.awt.GridLayout;
导入javax.swing.JButton;
导入javax.swing.JFrame;
导入javax.swing.JPanel;
公共类控制器{
私有JFrame;
私人JPanel[]小组;
专用JButton[]c_按钮;
私人玩家;
公共int i,j;
公共控制员(){
框架=新的JFrame(“HUS$AM国际象棋”);
panel=新JPanel[10][10];
c_按钮=新的JButton[4][9];
玩家=新玩家();
//在这里,我返回按钮从球员类使用的方法。。。
c_buttons=玩家。计算机_典当_玩家();

对于(i=1;i如果我得到您的答案,您希望将按钮从播放器返回控制器?如果是; 主类中有一个玩家实例和

JButton[][] getButton = players.computer_pawn_players();

我在控制器类:)中编写c_buttons=player.computer_pawn_players();当我运行这个程序时,它会给出:java.lang.NullPointerException,以便在使用它之前对它进行初始化。就像新的JButton[x][y];我想你会出错,因为没有控制器实例,所以c_buttons不会初始化,你会出错为什么我要创建控制器实例?我该如何初始化c_buttons?我只是将c_buttons分配给另一个类的方法,该方法返回按钮数组!!@Hussam_7102忘记它创建控制器。像这样做吧这个;private JButton[][]c_buttons=new JButton[4][9]//当您声明c_按钮时
JButton[][] getButton = players.computer_pawn_players();