我有JPanel
:
container = new JPanel();
container.setLayout(new GridLayout(1, 1));
在此面板中,我将JLabel
和JTextField
设置为创建经典表单。它呈现如下:
显然,我希望第一列更短,特别是适合所有JLabel所需的宽度。像这样(mspaint figure):
灰色虚线表示两列的划分位置。你对这种布局有什么建议?
请注意,第二列也可能包含复选框,选择框或其他一些表单元素。
答案 0 :(得分:1)
而不是相等的宽度,我的GridLayout中的元素可以只占用所需的空间吗?
不,它旨在为元素提供相等的宽度(和高度)。如果UI需要不同的宽度,请使用其他布局,例如GroupLayout
或GridBagLayout
。
请参阅this answer了解使用GroupLayout
进行操作的MCVE。