1

假设我们有以下实例化对象数组:

SomeClass[] items = {new SomeClass("Apples", 1.99f, 0.311f),
new SomeClass("Oranges", 0.99f, 0.396f),
new SomeClass("Bananas",2.99f,2.27f)};

假设构造函数是字符串名称、浮动价格、浮动重量。

所以现在我创建了一个 JList 并将它放在一个 JScrollPane 中:

itemsList = new JList(items);
ScrollPane itemsListScrollPane = new JScrollPane(itemsList);

有没有办法覆盖滚动窗格中显示的内容,以便只显示 name 属性(并丢弃其他属性),而不覆盖 SomeClass 类中的 toString() 方法。

Apples
Oranges
Bananas

我希望它很清楚,如果您有任何问题,我会尽力澄清。

谢谢。

编辑:我只是想澄清一下,有没有一种方法可以使用例如为 SomeClass 编写的名为 getName() 的方法,它返回 name 属性的字符串值并让 JList 只显示它?

4

1 回答 1

3

你可以ListCellRenderer在 JList 上设置一个,你可以选择任何你想渲染的东西。另请参阅有关 JList 的官方文档

于 2012-02-10T21:42:34.737 回答