将JList
数组(-s)添加到ListModel
. 需要:
2.0 11.0 1.0
有:
[D@198dfaf
我真的不想在添加之前和之后使用“数组到字符串”转换JList
..有什么想法吗?谢谢!
您可以为此目的使用ListCellRenderer 。它允许您返回一个组件,该组件代表您在 JList 模型中放入的值。
默认的 CellRenderer 是DefaultListCellRenderer,它基本上是 JLabel 的扩展,并且已经设置了所有正确的外观设置。因此,您可以扩展 DefaultListCellRenderer 并在返回值上设置数组文本。
作为更改渲染器或覆盖的替代方法,toString()
您可以考虑为添加到列表中的对象添加视图适配器。类似于此简化示例的内容:
class ArrayListViewAdapter {
Object[] list;
public ArrayListViewAdapter(Object[] list){
this.list = list;
}
@Override
public String toString(){
return StringUtils.join(list, " ");
}
}
然后将项目添加到模型中:
model.addElement(new ArrayListViewAdapter(new Integer[]{1, 2, 3}));