我为一个简单的游戏创建了一个关卡编辑器,我在关卡编辑器中创建了一些按钮和标签,这些按钮和标签在网格上对齐。几乎是gridlayout的目的。
以下代码,由于某些不合理的原因,我只会在彼此之下添加元素,如下所示:
地图宽度:
地图高度:
地图深度:
它 - 应该 - 看起来像这样:
地图宽度:地图高度:
地图深度:
我已经尝试了一个小时而且我非常难过,这不应该花费太多努力来实现它,但确实如此。
private void drawUiElements()
{
int xLoc = (int) (dim.width * 0.75);
int yLoc = 0;
int width = (int) (dim.width * 0.25);
int height = dim.height;
JPanel buttonContainer = new JPanel();
buttonContainer.setLayout(new GridLayout(16, 2, 5, 5));
buttonContainer.setBounds(xLoc, yLoc, width, height);
buttonContainer.setName("buttonContainer");
JLabel labelx = new JLabel("Map Width:");
JLabel labely = new JLabel("Map Height:");
JLabel labelz = new JLabel("Map Depth:");
buttonContainer.add(labelx, "1");
buttonContainer.add(labely, "2");
buttonContainer.add(labelz, "3");
add(buttonContainer);
}
感谢。
答案 0 :(得分:3)
使用GridLayout
时,无法将组件添加到特定单元格。您可以将初始行数设置为0
,以便组件填充 rows-first 。
buttonContainer.setLayout(new GridLayout(0, 2, 5, 5));