我有一个由 30 个按钮组成的网格,我想让它从左到右然后向下,从右到左,再从左到右。基本上编号如下:
1 2 3 4 5 6 7 8 9 10
20 19 18 17 16 15 14 13 12 11
21 22 23 24 25 26 27 28 29 30
因此,如果我在按钮 10 上有一块并且我指示它向上移动 2 位,它将落在 12 而不是 19。
以下是我的代码:
//Creates the button using the loop, adds it into the panel and frame.
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(3,10));
JButton [] buttons = new JButton[30];
for(int i=0;i<30;i++){
buttons[i] = new JButton("label" + i);
buttons[i].setBackground(Color.white);
//Puts the player 1 piece on button 1,3,5,7,9 and player 2 piece on button 2,4,6,8,10
if (i < 10) {
if (i%2 == 0) {
buttons[i].setIcon(piece1);
} else {
buttons[i].setIcon(piece2);
}
}
panel.add(buttons[i]);
}
frame.add(panel, BorderLayout.CENTER);