0
我试图填充一个jList,我希望它显示一个名称,但也存储列表中的每个项目的ID(这不显示)。在jList/listModel中访问一个对象的元素
我创建了一个列表模型,并将每个元素添加为一个对象。在对象保存一个int值(ID)和一个字符串值(名称):
doorListModel.addElement(nextDoor);
一旦所有的元素都被加入,然后我发送这个模式向的jList:
jList1.setModel(doorListModel);
当你运行程序jList似乎只显示每个元素的内存位置:
我怎样才能让jList只显示字符串值,(假设这是可能的)如何访问隐藏的int价值,如果我要选择它em来自jList。
干杯。
如果使用渲染器方法,那么不要忘记重写JList的'getNextMatch(...)'方法,因为此方法使用模型中对象的toString()实现进行搜索列表中的项目。如果你不覆盖这个方法,你会破坏JList的默认功能。 – camickr
任何人都可以详细说明如何使用ListCellRenderers,我发现以下,但我根本不明白它: http://www.coderanch.com/t/342147/GUI/java/understanding-custom-ListCellRenderers – Suipaste
@ Suipaste:使用ListCellRenderer在[JList教程](http://docs.oracle.com/javase/tutorial/uiswing/components/list.html)中有详细描述。我建议你看看它,然后尝试一下。如果仍然卡住,请问一个更具体的问题,然后上面的问题几乎不可能在不重写完整教程的情况下回答。记住,你的问题越具体,通常是更具体和有帮助的答案。 –