Java 将对象添加到JComboBox,但在不重写对象的情况下显示字符串';s.toString()方法

Java 将对象添加到JComboBox,但在不重写对象的情况下显示字符串';s.toString()方法,java,swing,jcombobox,tostring,Java,Swing,Jcombobox,Tostring,我正在使用的对象类已经覆盖了它的.toString()方法,并给出了它的名称。但是我在JComboBox中使用了相同的对象,我需要显示另一个字符串。有办法做到这一点吗?当然有!您要做的是为JComboBox提供一个自定义单元渲染器 为此,可以扩展DefaultListCellRenderer,确保覆盖其GetListCellRenderComponent(…)方法。完成此操作后,将在JComboBox上调用setRenderer(…),传入新类的对象 有关这方面的更多信息,请务必查看。你肯定有!

我正在使用的对象类已经覆盖了它的
.toString()
方法,并给出了它的名称。但是我在
JComboBox
中使用了相同的对象,我需要显示另一个字符串。有办法做到这一点吗?

当然有!您要做的是为JComboBox提供一个自定义单元渲染器

为此,可以扩展DefaultListCellRenderer,确保覆盖其
GetListCellRenderComponent(…)
方法。完成此操作后,将在JComboBox上调用
setRenderer(…)
,传入新类的对象


有关这方面的更多信息,请务必查看。

你肯定有!您要做的是为JComboBox提供一个自定义单元渲染器

为此,可以扩展DefaultListCellRenderer,确保覆盖其
GetListCellRenderComponent(…)
方法。完成此操作后,将在JComboBox上调用
setRenderer(…)
,传入新类的对象

有关这方面的更多信息,请务必查看。

签出

如果只使用自定义渲染器,将破坏组合框的默认功能,该组合框允许用户使用键盘选择项目。用户在使用GUI时应该能够使用鼠标或键盘

上述解决方案显示了如何实现键选择管理器,以便保留此默认功能。

签出

如果只使用自定义渲染器,将破坏组合框的默认功能,该组合框允许用户使用键盘选择项目。用户在使用GUI时应该能够使用鼠标或键盘


上面的解决方案展示了如何实现
KeySelectionManager
,这样您就可以保留此默认功能。

回答时不需要足够的数据..发布您的代码..像Microsoft和Apple这样的公司花费数百万美元来创建可用的UI。我很好奇,你为什么要接受破坏组合框功能的解决方案?回答的数据不充分..发布你的代码..像微软和苹果这样的公司花费数百万美元来创建可用的用户界面。我很好奇,为什么你会接受破坏组合框功能的解决方案?