在我嘗試創(chuàng)建的游戲中,我有一個類顯示 JList 中角色的庫存。我知道用對象填充 JList 會導致該對象的 toString 方法在實際顯示 JList 時運行。我想創(chuàng)建一個自定義 JList,它除了在填充它的對象上運行 toString 方法之外,還執(zhí)行其他操作。我知道我可以覆蓋對象上的 toString 方法,但我需要 toString 方法與清單中顯示的方法不同。出于某種原因,我無法查看 Object 或 JList 等類(我仍然可以查看我自己的),否則我會自己查看代碼。(TL; DR - 我需要覆蓋在填充它的對象上運行 toString 的 JList 中的方法)旁注:只有特定類型的 Object 會被放入 JList,所以我知道我打算運行什么而不是 toString,并且自定義 JList 只會在 1 個類中使用。
3 回答

繁花如伊
TA貢獻2012條經(jīng)驗 獲得超12個贊
正確的方法是使用ListModel
. 有關詳細信息,請閱讀有關如何使用列表的官方教程。請密切注意創(chuàng)建 ListModel 部分。

揚帆大魚
TA貢獻1799條經(jīng)驗 獲得超9個贊
我設法為自己找到了答案。必須編寫自定義類來擴展 JLabel 實現(xiàn) ListCellRenderer<>。在這里,您可以準確指定 JList 中每個單元格的文本組件的內容。
添加回答
舉報
0/150
提交
取消