为了账号安全,请及时绑定邮箱和手机立即绑定

创建自定义 JList 运行对象的 toString 以外的方法

创建自定义 JList 运行对象的 toString 以外的方法

拉风的咖菲猫 2021-07-01 10:00:30
在我尝试创建的游戏中,我有一个类显示 JList 中角色的库存。我知道用对象填充 JList 会导致该对象的 toString 方法在实际显示 JList 时运行。我想创建一个自定义 JList,它除了在填充它的对象上运行 toString 方法之外,还执行其他操作。我知道我可以覆盖对象上的 toString 方法,但我需要 toString 方法与清单中显示的方法不同。出于某种原因,我无法查看 Object 或 JList 等类(我仍然可以查看我自己的),否则我会自己查看代码。(TL; DR - 我需要覆盖在填充它的对象上运行 toString 的 JList 中的方法)旁注:只有特定类型的 Object 会被放入 JList,所以我知道我打算运行什么而不是 toString,并且自定义 JList 只会在 1 个类中使用。
查看完整描述

3 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

正确的方法是使用ListModel. 有关详细信息,请阅读有关如何使用列表的官方教程。请密切注意创建 ListModel 部分


查看完整回答
反对 回复 2021-07-14
?
慕标琳琳

TA贡献1830条经验 获得超9个赞

也许最简单的方法是创建一个子类JList- 一个新类扩展 JList - 并添加您需要的方法并使用它而不是JList.


查看完整回答
反对 回复 2021-07-14
?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

我设法为自己找到了答案。必须编写自定义类来扩展 JLabel 实现 ListCellRenderer<>。在这里,您可以准确指定 JList 中每个单元格的文本组件的内容。


查看完整回答
反对 回复 2021-07-14
  • 3 回答
  • 0 关注
  • 217 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信