在java中,将按钮的2D数组从一个类返回到另一个类
在将二维按钮数组从一个类返回到另一个类时,我遇到了一个小问题。当我运行这个程序时,它给出了(java.lang.NullPointerException):( 我上了3节课……下面给出了2节主要课:在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;
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();