我正在尝试为计算器 GUI 安排两组按钮。每个人都使用 GroupLayout 来制作它们。一组是数字(和“.”),另一组是操作按钮。这基本上是可行的,但如果其中一个按钮的长度是双倍的(例如我的操作集上的等号按钮),它会使其他按钮不符合要求。我将以操作集为例。有两列四行按钮。最后一行只有一个按钮 - 等于。我想让这个双倍长度延伸到两列。目前,当我希望第二列放在它上面时,它只是将第二列推到它的末尾。
这是布局的代码 - operLayout 是操作的布局名称,第一行是左右括号,第二行是 + 和 -,第三行是 * 和 /,最后一行是等于。每个按钮在其他地方都有一个 minimumSize 设置(它们都是相同的,除了 equals 是两倍长)。
operLayout.setAutoCreateGaps(true);
operLayout.setAutoCreateContainerGaps(true);
operLayout.setVerticalGroup(operLayout
.createSequentialGroup()
.addGroup(
operLayout.createParallelGroup(GroupLayout.Alignment.BASELINE).addComponent(leftBracket)
.addComponent(rightBracket))
.addGroup(operLayout.createParallelGroup().addComponent(add).addComponent(subtract))
.addGroup(operLayout.createParallelGroup().addComponent(multiply).addComponent(divide))
.addGroup(operLayout.createParallelGroup().addComponent(equals)));
operLayout.setHorizontalGroup(operLayout
.createSequentialGroup()
.addGroup(
operLayout.createParallelGroup().addComponent(leftBracket).addComponent(add)
.addComponent(multiply).addComponent(equals))
.addGroup(
operLayout.createParallelGroup().addComponent(rightBracket).addComponent(subtract)
.addComponent(divide)));
我理解为什么会发生这种情况,但我不确定如何解决。有简单的方法吗?还是我应该改变我做事的方式?谢谢