似乎 JComboBox 是一个 Java 组件,它真的非常讨厌调整它的高度……我尝试了无数种set[Preferred|Minimum|Maximum]Size()
不同的布局管理器的组合,直到下面的GroupLayout
代码最终起作用:
JComboBox cmbCategories = new JComboBox(new String[] { "Category 1", "Category 2" });
...
layout.setHorizontalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(cmbCategories, GroupLayout.PREFERRED_SIZE, 100, GroupLayout.PREFERRED_SIZE)
...
layout.setVerticalGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(cmbCategories, GroupLayout.PREFERRED_SIZE, 40, GroupLayout.PREFERRED_SIZE)
但是我现在切换到 JGoodies FormLayout
,它再次拒绝调整该死的组合框的大小!我目前有以下代码:
JPanel contentPane = new JPanel();
contentPane.setLayout(new FormLayout("50dlu, $lcgap, 110dlu, $glue, " +
"default, 1dlu, 45dlu, 1dlu, 45dlu", "2*(default, 0dlu), default, " +
"$lgap, fill:30dlu, $lgap, default:grow"));
...
contentPane.add(cmbPanel, CC.xy(1, 7, CC.FILL, CC.FILL));
它在 JFormDesigner 编辑器中显示我想要的内容,但是在运行程序时它只是被设置回默认值!
那么我需要想出什么样的魔法骗局才能让它发挥作用?!我真的不想在 a 中重新定义所有内容两次GroupLayout
,但是在尝试调整该死的组合框的大小 5 小时后,我正处于秃顶的边缘!
MTIA 给任何可以提供帮助的人:)