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

在我尝试创建的游戏中,我有一个类显示 JList 中角色的库存。我知道用对象填充 JList 会导致该对象的 toString 方法在实际显示 JList 时运行。我想创建一个自定义 JList,它除了在填充它的对象上运行 toString 方法之外,还执行其他操作。我知道我可以覆盖对象上的 toString 方法,但我需要 toString 方法与清单中显示的方法不同。出于某种原因,我无法查看 Object 或 JList 等类(我仍然可以查看我自己的),否则我会自己查看代码。(TL; DR - 我需要覆盖在填充它的对象上运行 toString 的 JList 中的方法)

旁注:只有特定类型的 Object 会被放入 JList,所以我知道我打算运行什么而不是 toString,并且自定义 JList 只会在 1 个类中使用。


拉风的咖菲猫
浏览 222回答 3
3回答

繁花如伊

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

慕标琳琳

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

扬帆大鱼

我设法为自己找到了答案。必须编写自定义类来扩展 JLabel 实现 ListCellRenderer<>。在这里,您可以准确指定 JList 中每个单元格的文本组件的内容。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java