所以我创建一个应该显示的按钮数组和8,8网格,而不是它显示在窗口上蔓延的非常小的按钮(连续31个按钮,两行,然后是两个按钮)第三)。如果我更换:
gamePanel1.add(buttons[a][b]);
使用:
frame.add(buttons[a][b]);
...它显示正确,但在初始化数组时,我必须调整窗口大小以查看按钮,因为它不适合内容。
以下是创建按钮的代码:
contentPane.setLayout(new BorderLayout());
JPanel gamePanel1 = new JPanel();
buttons = new JButton[boardsize][boardsize];
mineBoard = new int[9][9];
for (int a = 0; a < boardsize; a++)
for (int b = 0; b < boardsize; b++) {
buttons[a][b] = new JButton("");
buttons[a][b].setBounds(30+gridsize*a,30+gridsize*b,gridsize,gridsize);
gamePanel1.add(buttons[a][b]);
buttons[a][b].addMouseListener(new MouseListener(a,b));
setx(a);
sety(b);
settried(false);
setmine(false);
}
contentPane.add(gamePanel1, BorderLayout.CENTER);
任何人都可以告诉我如何解决这个问题,或者告诉我如何使用这些代码我可能会使用不同的布局 - 我尝试了按钮的网格布局,但根本无法使用它。
答案 0 :(得分:1)
首先将Panel创建为:
JPanel panel=new JPanel();
然后将布局设置为
panel.setLayout(new GridLayout(8,8));
然后使用for循环创建并添加按钮,按钮将以八乘八格显示。感谢。