2014-02-28 18 views
1

林显示图片的8X8格的新游戏,这些照片都是随机使用二维数组的Math.random()什么是正确的update()方法为我的GUI(JAVA)

有地方也是一款“新游戏”按钮,我希望用户无需打开新的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]); 


    } 
+1

考虑使用'GridLayout(...)'而不是手动将按钮与'setBounds'放在一起。除此之外:您可以通过调用removeAll()来移除此面板上的所有按钮(但不确定这是否是您要求的) – Marco13

回答

0

方法“我希望用户能够刷新页面,而无需打开新的GUI”

你应该使用一个CardLayout为此功能。你可以使用“堆栈”面板并通过它们导航,如show(p, "aCertainPanel"),next(),previous()

请参阅How to use CardLayout并看到一个简单的可运行示例here

同样如Marco13指出的,避免使用空白布局和手动设置位置和大小。这有很多问题。对于您的特定情况,它看起来像GridLayout将是您的完美布局。请参阅如何使用GridLayout以及其他人Laying out Components Within a Container

相关问题