我的 Main 类和 Player 类中有两个 JList 和一个 ArrayList 项目
private ArrayList<Item> allItems= new ArrayList<Item>();
listItemsShop= new JList(allItems.toArray());
listItemsInv= new JList(currentPlayer.getAllItems().toArray());
大多数人可能都知道,toArray 方法将我的集合“allItems”的内容作为数组返回。这使得它可以在 JList 组件中使用。
然后,JList 组件调用我的 Items 类的 toString 方法并返回其中的任何内容。例如
@Override
public String toString() {
return name + "," + "$"+price;
}
这对我的第一个 JList 'listItemsShop' 来说很好,但对于我的第二个 JList,我不想显示价格。第二个 JList 是一个库存,因此该项目已被购买.. 我只想显示项目名称,也许还有一些其他详细信息,例如损坏量或状况..
有谁知道如何做到这一点?我读过有人创建了一个重复的类并以这种方式覆盖了第二个类的 toString 方法,但这似乎是一个很大的冗余。如果有人知道解决此问题的另一种方法,我很乐意听取您的意见。
干杯