我想知道是否有一种方法可以在从 ArrayList
构建 JList
时显示其项目的特定属性。
我只想选择执行此操作时将在列表中显示的属性:
JList<String> elementsList = new JList(elementsArrayList.toArray());
elementsScrollPane.setViewportView(elementsList);
感谢您给我的任何帮助或引用!
最佳答案
您可以设置ListCellRenderer
.
本质上,你编写了一个函数
public Component getListCellRendererComponent(JList<?> list,
Object value, int index, boolean isSelected, boolean cellHasFocus)
它返回一个组件
。为了让事情变得更容易,您可以扩展 DefaultListCellRenderer
并在从列表元素中提取要显示的值后调用它的实现,即
{
if (value instanceof YourClass) {
YourClass ob = (YourClass) value;
return super.getListCellRendererComponent(list, ob.getProperty(), index, isSelected, cellHasFocus);
}
return super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
}
那么你set your renderer到您的 elementList
。
关于java - ArrayList转JList并显示对象的特定属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58300060/