Java布局管理器



我使用2行6列的网格布局。第一列是标签,第二列是组合。我的问题是

根据标签的大小,组合框的大小也会增加。我想要一个稳定尺寸的combo?我应该使用哪种布局?我想要像这样的设计

*标签1:组合1标签2:组合2标签3:组合3标签4:text1标签5:text2标签6:text3*

  1. 对于GridLayout,您可以使用JComboBox#setPrototypeDisplayValue,然后您可以在屏幕上非常灵活地设置JComboBox的初始大小

  2. 您可以使用SpringLayoutGridBagLayout

  3. 使用今天的自定义LayoutManagers,因为MigLayout是例如

  4. 注意,关于选择正确的LayoutManager,一切都取决于内容是否应该使用容器调整大小

遍历所有标签,并为所有标签设置最大大小。

Label 1             |________________|
Label Label 2       |________________|
Label Label Label 3 |________________|
Label 1             |________________|

如果您必须手动编写布局代码,并且使用第三方库没有问题,那么您可以尝试Migliout。

您也可以使用图形编辑器来布局面板。有两个免费工具可以做得很好(据我所知):NetBeans附带的工具和Eclipse WindowBuilder。

您可以使用GridBagLayout,将组合框的GridBagConstrints.fill设置为水平

GridLayout中,所有瓦片都具有相同的大小。

您应该考虑使用GridBagLayout。您还需要为每个GUI元素使用GridBagConstraints来指定其位置。

最新更新