gpt4 book ai didi

java - 显示模型中的 JList 元素

转载 作者:行者123 更新时间:2023-12-01 18:52:51 25 4
gpt4 key购买 nike

我有一个对象列表Person(intage,String name),这些对象存储在要分配给JListDefaultListModel中.

DefaultListModel model;
model = new DefaultListModel();

Person p = new Person(43,"Tom");
//insert in the model
model.add(size, p);

jList1.setModel(model);

我想仅显示 JList 中的名称,但我不知道如何在不使用另一个名称列表的情况下执行此操作(我希望避免使用)。

是否有任何简单的方法可以告诉JList要显示对象Person的哪个属性?

最佳答案

View 的显示应该是ListCellRenderer的域

类似于...

public class PersonCellRenderer extends DefaultListCellRenderer {
public Component getListCellRendererComponent(JList<?> list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
if (value instanceof Person) {
setText(((Person)value).getName());
}
return this;
}
}

要将渲染应用到列表,您需要执行...

jList1.setCellRenderer(new PersonCellRenderer());

看看Writing a Custom Cell Renderer了解更多信息

关于java - 显示模型中的 JList 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15192174/

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