zig*_*don 8 java swing grouplayout
我正在尝试在我的应用程序中构建一个GUI窗口.我要做的是有一个窗口,顶部有几个按钮,还有一个大文本区域.像这样的东西:
+--------------------------------------------------+
| [button1] [button2] [button3] |
| +----------------------------------------------+ |
| | text area | |
| | | |
| | | |
| | | |
| +----------------------------------------------+ |
+--------------------------------------------------+
Run Code Online (Sandbox Code Playgroud)
我几乎在那里,使用GroupLayout:
layout.setHorizontalGroup(
layout.createParallelGroup()
.addGroup(layout.createSequentialGroup()
.addComponent(button1)
.addComponent(button2))
.addComponent(closeWindow))
.addComponent(textarea1)
);
layout.setVerticalGroup(
layout.createSequentialGroup()
.addGroup(layout.createParallelGroup()
.addComponent(button1)
.addComponent(button2)
.addComponent(button3))
.addComponent(textarea)
);
Run Code Online (Sandbox Code Playgroud)
问题是,这最终会使button3与左边对齐,另外两个.我似乎无法弄清楚如何只在一个按钮上指定对齐方式.我可以在整个按钮栏上进行GroupLayout.Alignment.TRAILING,但是它会击中所有3个按钮,这也不太合适.
那么正确的方法是什么?由于对齐仅适用于并行组,我不认为拥有一个包含两个顺序组的HorizontalGroup会有帮助吗?
我错过了什么?
Eta*_*oin 11
在顺序组中添加间隙.保留水平组:
layout.setVerticalGroup(
layout.createSequentialGroup()
.addGroup(layout.createParallelGroup()
.addComponent(button1)
.addComponent(button2)
.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(button3))
.addComponent(textarea)
);
Run Code Online (Sandbox Code Playgroud)
与这些参数的差距充当了"弹簧",占据了所有可用空间.