StackOverFlow问题
你好今天第二次专用堆栈溢出用户! XD
所以我试图用网格格式设置这9个按钮的位置.setBounds接受(xCoordinate,yCoordinate,#ofPixelsWide,#ofPixelsTall)
有人会知道更有效/更紧凑的方法吗?我想知道即使它没有使用.setBounds,毕竟我在这里学习XD
感谢您的任何建议
for (int i = 0; i < groupOfButtons.length; i++) {
int x = 0, y = 0;
if (i == 1 || i == 4 || i == 7) {
x = 110;
}
if (i == 2 || i == 5 || i == 8) {
x= 220;
}
if (i > 2 && i < 6) {
y = 110;
}
if (i > 5 && i < 9) {
y = 220;
}
groupOfButtons[i].setBounds(x, y, 100, 100);
}
这不是写这个btw(这种方式实际上更短但看起来更乱):
groupOfButtons[0].setBounds(0, 0, 100, 100);
groupOfButtons[1].setBounds(110, 0, 100, 100);
groupOfButtons[2].setBounds(220, 0, 100, 100);
groupOfButtons[3].setBounds(0, 110, 100, 100);
groupOfButtons[4].setBounds(110, 110, 100, 100);
groupOfButtons[5].setBounds(220, 110, 100, 100);
groupOfButtons[6].setBounds(0, 220, 100, 100);
groupOfButtons[7].setBounds(110, 220, 100, 100);
groupOfButtons[8].setBounds(220, 220, 100, 100);
答案 0 :(得分:1)
您需要使用网格布局。然后,您只需添加这些按钮,它就会自动将它们以网格格式放置。请查看此文档以获取布局的详细说明:
https://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html
如果您需要为项目的其他组件使用除网格布局之外的其他布局,则可以嵌套布局(因此此按钮网格将是另一个布局内的嵌套布局)。