Java中FlowLayout中的第2组组件

时间:2014-10-13 10:26:50

标签: java swing layout layout-manager

我在JPanel中使用FlowLayout Manager。我有很多Label和TextField / JComboBox组合。像

enter image description here

调整JPanel的大小

enter image description here

我已经在我的JPanel上设置了FlowLayout,并且每当调整面板大小时,而不是逐个将组件带到下一行,我希望它将我的Label + Textfield一起带到下一行。

是否可以制作组或类似的东西,这样我的每个Label + Textfield都被视为单个组件,当面板调整大小时,这两个组件都会混合在一起。

我知道的一种方法是将每个标签+文本字段放在每个单独的JPanel中,然后将这些JPanel放在我的主FlowLayout JPanel中,但之后我将不得不做很多工作因此想知道java中是否有一些选项对此?

1 个答案:

答案 0 :(得分:0)

Flowlayout是在您的情况下使用的错误布局。

最好的布局可能是 GridBagLayout 。您可以为文本字段定义一致的宽度,并为标签定义一致的锚点(即锚定在右侧)。

以下是您如何设置'模型的示例。 label:

GridBagConstraints gbc = new GridBayConstraints();
gbc.gridx = 2;
gbc.gridy = 1;
gbc.anchor = GridBagLayout.EAST
panel.add(modelLabel, gbc);