是否可以绑定或仅显示某些ListModel或List 当我将它绑定到Jlist项目时?
在我的示例中,我有一个由类(披萨)数组组成的列表模型,它有多个变量,我只想显示一个,但它们都显示在一行中。
listModel = new DefaultListModel();
listModel = ListHandler.populateListModel(listModel);
// This returns listModel binded from array of a class<Pizza>
list = new JList(listModel);
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
list.setSelectedIndex(0);
JScrollPane listScrollPane = new JScrollPane(list);
Apanel.add(listScrollPane, BorderLayout.CENTER);
此代码然后显示每行披萨中的所有项目, 可以从比萨饼中展示1种可变物吗?仅在列表框中的奶酪......?
答案 0 :(得分:2)
默认的单元格渲染器正在模型中的值对象上调用toString()
。您可以执行以下任一操作:
toString()
返回的值,使其成为您要显示的文字我更喜欢第二种,因为您可能希望toString()
出于某种其他原因而拥有特定的其他值。
请参阅http://docs.oracle.com/javase/7/docs/api/javax/swing/ListCellRenderer.html