gpt4 book ai didi

java - 从 DefaultListModel 绑定(bind)的 Jlist 是否可以仅显示某些元素?

转载 作者:行者123 更新时间:2023-12-02 04:44:05 25 4
gpt4 key购买 nike

是否可以绑定(bind)或仅显示部分ListModel或List当我将它绑定(bind)到 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);

此代码然后每行显示 Pizza 中的所有项目,是否可以只显示 Pizza 中的 1 个变量?例如,奶酪单独在列表框中......?

最佳答案

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

  • 覆盖/更改 toString() 返回的值,使其成为您想要显示的文本
  • 更改单元格渲染器以设置与默认值对象不同的格式

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

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

关于java - 从 DefaultListModel 绑定(bind)的 Jlist 是否可以仅显示某些元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29836706/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com