0

我正在尝试制作一个 JList 来显示数组的内容。然而,数组本身不是字符串数组,而是对象数组。

那么,是否可以使用与参数相同的对象数组来构造我的 JList(如果为对象提供了 toString 方法)?

谢谢。

4

2 回答 2

3

是的。

列表使用称为单元格渲染器的对象来显示其每个项目。默认的单元格渲染器知道如何显示字符串和图标,它通过调用来显示对象toString

请参阅:http: //java.sun.com/docs/books/tutorial/uiswing/components/list.html

于 2009-12-05T02:22:58.877 回答
0

JList 是一个基于 MVC 的控件,就像 Swing 的其余部分一样。您可以向 JList 传递对象数组、字符串数组或向量,然后提供 ListCellRenderer 以呈现您传入的对象(默认情况下使用DefaultListRenderer(它只是一个 JLabel))。

如果您不传递字符串,我不知道如果您不设置 ListRender 来呈现对象,那么默认行为是什么。这是不好的做法。很容易覆盖 DefaultListRenender 调用 Object.ToString() 是安全的。

在这里查看更多 JList 信息:http: //java.sun.com/products/jfc/tsc/tech_topics/jlist_1/jlist.html

于 2009-12-05T02:29:11.407 回答