我有JFrame
如下:
-------------------------|
|JFrame |
| |
| |---------------------|
| |JScrollPane |
| | |jXTaskPaneContainer|
| | |jXTaskPane |
| | | |-----------------|
| | | |jPanel1 |
| | | |-----------------|
-------------------------|
您可以在下面看到jPanel1
的布局:
| label1 | (without title) | label2 | label3 | <--labelPanel+BoxLayout
--------------------------------------------------------
| comboBox1 | comboBox2 |textField1|textField2 | <--controlPanel+BoxLayout
对于jXTaskPaneContainer
和jXTaskPane
我正在使用VerticalLayout
。
我想要达到的目标是获得一个可调整大小的JFrame
组件。
除labelPanel
个组件外,一切正常。
作为jLabels
之间的空格。我正在使用jlabels
(使用EmptyBorder)。
当我调整JFrame
的大小时,jPanel1
组件不会同步调整大小,如下所示:
| label1 | (without title) | label2 | label3 |
--------------------------------------------------------
| comboBox1 | comboBox2 | textField1 | textField2|
我希望看到的结果:label1
标题comboBox1
,label2
定义textField1
,...我无法同步调整它们。
如果您有任何建议,请与我分享。
答案 0 :(得分:1)
BoxLayout将为其组件提供所需的空间。 JLabels将尽量保持尽可能小,而JComboBoxes将尽力扩散。
您有两个选择:使用带有JLabel的最大和首选大小的futz,或者只使用使组件尽可能大的布局 - 想到GridLayout。
事实上,您所描述的内容听起来像jPanel1上的GridLayout,不需要labelPanel或controlPanel。