假设我们有以下实例化对象数组:
SomeClass[] items = {new SomeClass("Apples", 1.99f, 0.311f),
new SomeClass("Oranges", 0.99f, 0.396f),
new SomeClass("Bananas",2.99f,2.27f)};
假设构造函数是String name, float price, float weight.
所以现在我创建一个 JList 并将其放在 JScrollPane 中:
itemsList = new JList(items);
ScrollPane itemsListScrollPane = new JScrollPane(itemsList);
有没有一种方法可以覆盖滚动 Pane 中显示的内容,以便只显示 name 属性(并丢弃其他属性),而无需覆盖 SomeClass 类中的 toString() 方法。
Apples
Oranges
Bananas
我希望一切都清楚,如果您有任何问题,我会尽力澄清。
谢谢。
编辑: 我只是想澄清一下,有没有一种方法可以使用例如为 SomeClass 编写的名为 getName() 的方法,该方法返回 name 属性的字符串值并让 JList 仅显示该值?
最佳答案
你可以在JList上设置一个ListCellRenderer
,你可以选择任何你想渲染的东西。 See also the official doc about JList
关于java - 将特定实例属性添加到 JList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9235154/