您可以通过设置最小尺寸做,但正确的值是字体依赖。您可以猜出价值,或者您可以从中设置它,并从FontMetrics
获得一些帮助。
我发现通过使第一个项目类似于“--Select Config--”,或者如果您知道没有可供选择的项目,可以更容易地完成它:“ - 没有配置可用 - ”
更新:
因为你不能用一个占位符,您的选择取决于布局管理器和LAF使用。
大多数情况下,这相当于设置JComponent的最小和/或首选大小。这是不准确的,但我通常使用GridBagLayout
,并与这个方法很好的效果:
@Override
public void addNotify() {
super.addNotify();
combo.setMinimumSize(atLeast(combo.getMinimumSize(), 100, 20));
combo.setPreferredSize(atLeast(combo.getPreferredSize(), 100, 20));
}
private Dimension atLeast(Dimension d, int minWidth, int minHeight) {
d.width = Math.max(minWidth, d.width);
d.height = Math.max(minHeight, d.height);
return d;
}
与你工作的最低值更换100,20。
我从来没有见过一个“薄”组合框,即使是一个空模型。张贴您的SSCCE(http://sscce.org)来证明问题。 – camickr 2010-07-02 16:08:44
你是否在使用GroupLayout? – 2010-07-02 16:18:10