您可以通过设置最小尺寸来做到这一点,但正确的值取决于字体。您可以猜测该值,也可以在 的addNotify
帮助下从中设置它FontMetrics
。
我通常发现通过使第一个项目更容易做到这一点:“--Select Config--”,或者,如果您知道没有可供选择的项目:“--No Configs Available--”
更新:
由于您不能使用占位符,因此您的替代方案取决于布局管理器和使用的 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 替换为适合您的最小值。