显示对象列表

时间:2014-05-08 08:31:28

标签: java list jlist

我有一个Catalog类型的对象列表。类Catalog有一个名为getName的方法,它返回对象的名称。 我有List<Catalogue> catalogList = /*code to retrieve list*/

我尝试了这个但是没有用

JList  jlist = new JList(catalogList.toArray());

我的问题是如何在Jlist中显示名称?

3 个答案:

答案 0 :(得分:4)

覆盖Catalog类中的toString()方法:

@Override
public String toString() {
    return getName();        
}

答案 1 :(得分:1)

您的JList包含Catalog的实例。默认情况下,它使用其包含的对象的toString()方法来显示它们。因此,您的第一个选择是覆盖目录中的toString()并使其返回名称。

另一个更通用且更灵活的选项是设置自定义单元格渲染器,列表将调用该渲染器以显示每个Catalog对象。 Swing教程有examples

答案 2 :(得分:0)

您希望您的jlist只包含catalogList中元素的名称吗?因为我看到你正在尝试将目录元素添加到Jlist

JList  jlist = new JList();
for(int i=0;i<catalogList.size();i++){
     jlist.add(catalogList.get(i).getName();
}

这可能是一种更有效的方式,但我认为这更容易理解