从默认列表模型绑定的Jlist是否可以仅显示某些元素



是否可以仅绑定或显示部分列表模型或列表当我将其绑定到 Jlist 项目时?

在我的示例中,我有一个由具有多个变量的类(pizza)数组组成的列表模型,我只想显示一个,但它们都显示在一行中。

  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 个变量?例如,仅在列表框中的奶酪... ?

默认单元格渲染器正在对模型中的值对象调用toString()。您可以执行以下任一操作:

  • 覆盖/更改toString()返回的值为要显示的文本
  • 更改单元格呈现器以不同于默认值设置值对象的格式

我更喜欢第二个,因为您可能希望toString()出于其他原因具有特定的其他值。

见 http://docs.oracle.com/javase/7/docs/api/javax/swing/ListCellRenderer.html

相关内容

  • 没有找到相关文章

最新更新