Java Swing:扩展 DefaultComboBoxModel 并重写方法

2024-01-13

我正在使用DefaultComboBoxModel显示客户列表JComboBox。该列表当前仅显示他们的名字。我还想为每个客户提供参考DefaultComboBoxModel这样,当选择名称时,它还保存对真实客户对象的引用。

为了实现这一目标,我怀疑我必须延长DefaultComboBoxModel并可能覆盖addElement()方法?或者我可以添加一个新方法来存储我对客户的参考吗?如果是这样,我是否必须查看源代码DefaultComboBoxModel看看它是如何存储元素的?很抱歉,如果这个问题令人困惑,但我不知道如何以正确的方式做到这一点。谢谢阅读。


如果您在 Customer 对象中重写 toString() 以返回您想要在 JComboBox 中呈现的任何内容,它将正常工作。如果您将 toString 用于其他目的,则需要重写模型或渲染器以使用 Customer 对象中的正确字段。

-更新汤姆的建议- 创建一个新对象 CustomerView,它包装真正的客户对象,因此可以提供对其的引用,但它也覆盖 toString() 以返回客户的姓名。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java Swing:扩展 DefaultComboBoxModel 并重写方法 的相关文章

随机推荐