访问jList / listModel中对象的元素

时间:2014-01-19 02:28:12

标签: java arrays swing jlist

我正在尝试填充jList,我希望它显示一个名称,但也为列表中的每个项目存储一个ID(不显示)。

我创建了一个列表模型,并将每个元素添加为对象。该对象包含一个int值(ID)和一个字符串值(名称):

doorListModel.addElement(nextDoor);

一旦添加了所有元素,我就将此模型发送到jList:

jList1.setModel(doorListModel);

运行程序时,jList似乎只显示每个元素的内存位置: Current jList output

如何让jList只显示String值,并且(假设这是可能的话)如果我要从jList中选择一个项目,如何访问隐藏的int值。

干杯。

1 个答案:

答案 0 :(得分:4)

我看到你有两个选择:

  • 您可以为您的Door类提供一个不错的toString()方法,因为这是JList默认显示的内容,或
  • 为您的JList提供一个不错的ListCellRenderer。这是推荐的解决方案,因为toString()结果实际上不应该用于生产目的,而是用于调试。