Java Swing:设置显示在 JListBox 中的成员
是否有与 JListBox Swing 组件的 .NET“set DisplayMember”类似的机制?
重写 toString() 方法是不够的,因为我还希望能够在运行时更改显示成员。
我也考虑过实现我自己的 ListCellRenderer
,但发现它不是很方便。
有没有更简单或更优雅的方法?
感谢您抽出时间。
Is there a comparable mechanism to the .NET "set DisplayMember" for the JListBox Swing component?
Overriding the toString()
method is not sufficient because I also want to be able to change the display member at runtime.
I also looked into implementing my own ListCellRenderer
, but found it not very convenient.
Ist there a easier or more elegant approach?
Thanks for your time.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您应该围绕业务对象创建一个覆盖 toString() 的包装类。通过这种方式,您可以保持自己的对象干净,并且可以在运行时交换包装器。
You should create a wrapper class around your business object that overrides toString(). This way you keep your own object clean and can at runtime swap wrappers.
我基于实现自定义
ListCellRenderer
提出了一个令人满意的解决方案。在您的客户端 GUI 代码中,您可以执行以下操作:
I came up with a satisfying solution based on implementing a custom
ListCellRenderer
.In your client GUI code you can do something like this: