我正在尝试创建一个JList来显示数组的内容。但是,数组本身不是字符串数组,而是对象数组。
那么,是否可以使用与参数相同的对象数组来构造我的JList (如果对象被赋予了一个toString方法)?
谢谢。
发布于 2009-12-05 10:22:59
是的。
列表使用称为单元格渲染器的对象来显示它的每一项。默认的单元格渲染器知道如何显示字符串和图标,它通过调用
toString来显示对象。
请参阅:http://java.sun.com/docs/books/tutorial/uiswing/components/list.html
发布于 2009-12-05 10:29:11
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
https://stackoverflow.com/questions/1850892
复制相似问题