我有一个JComboBox
类型myclass
。我CustomListRender
用来显示 的属性之一myclass
,它工作正常。
然后我设置myCombobox.setEditable(true)
。JComboBox
变得可编辑,但默认情况下,文本设置为如下所示combobox
:
com.mypackagename.myclass
谁能告诉我如何解决这个问题?
提前致谢。
如如何使用组合框:提供自定义渲染器中所述,
默认渲染器知道如何渲染字符串和图标。如果您将其他对象放在组合框中,则默认渲染器会调用该
toString
方法以提供要显示的字符串。
除非被覆盖,否则您可能会看到toString()
继承自Object
. 至少,您需要覆盖MyClass#toString()
或更新您的渲染器,并相应地提供自定义编辑器;这里有一个相关的例子。大多数人更喜欢后者;您的sscce显示您的自定义渲染器将更容易建议替代方案。