设置JCombobox中项目的高度

时间:2011-07-07 09:33:38

标签: java swing jcombobox

我有JCombobox个项目很多,首先是NULL

打开组合框时,所有项目都有正常高度,但不是第一个,它们是一个非常薄的条带。这很难被点击,因为看起来什么都没有(但它在那里你可以选择它)。

问题是,如何让这个项目的高度与其他项目相同?

更多信息:

  • 我尝试使用JCombobox.setPrototypeDisplayValue()使用普通字符串(如“XXXXX”)或使用其中一个正常项目,但这会改变宽度而不是高度。
  • 空值通过JCombobox子类在ObjectToStringConverter中用空字符串(“”)表示:

org.jdesktop.swingx.autocomplete.AutoCompleteDecorator.decorate (combobox, ConfigurableToStringConverter.INSTANCE);

提前致谢

2 个答案:

答案 0 :(得分:5)

覆盖用于组合框的默认渲染器(请参阅DefaultListCellRenderer类)。检查getListCellRendererComponent()方法。调用super.getListCellRendererComponent(),如果value为NULL,则将空字符串(或空格字符串“”)设置为值。

答案 1 :(得分:2)

查看camickr的Combo Box Popup,代码来源显示setPreferredSize的{​​{1}},但我看不出有任何理由不将Width用于setPreferredSize同样的方式。

唯一的问题是Height和标准Swing代码

之间是否存在冲突