我为新游戏显示一个8x8的图片网格,这些图片是随机使用二维数组和math.random()
的地方还有一个“新游戏”按钮,我希望用户能够刷新页面而无需打开新的GUI 并重新显示网格。
这是我显示网格的方法
for (int r = 0; r < ShinyButtons.ROWS; r++){
for (int c = 0; c < ShinyButtons.ROWS; c++) {
newbuttonTable[r][c] = new JButton(icons[(int) (Math.random()*7)]);
newbuttonTable[r][c].setLocation(10+c*69, 10+r*69);
newbuttonTable[r][c].setSize(69, 69);
add(newbuttonTable[r][c]);
}
答案 0 :(得分:0)
&#34;我希望用户能够刷新页面而无需打开新的GUI&#34;
您应该使用CardLayout
来实现此功能。您可以&#34;堆叠&#34; 小组,并使用show(p, "aCertainPanel")
,next()
,previous()
等方法浏览它们。
请参阅How to use CardLayout并查看简单的可运行示例here。
同样正如Marco13指出的那样,避免使用空布局并手动设置位置和大小。这有很多问题。对于您的特定情况,看起来GridLayout
将是您的完美布局。请参阅Laying out Components Within a Container
GridLayout
以及其他人