0

JList数组(-s)添加到ListModel. 需要:

2.0 11.0 1.0

有:

[D@198dfaf

我真的不想在添加之前和之后使用“数组到字符串”转换JList..有什么想法吗?谢谢!

4

2 回答 2

2

您可以为此目的使用ListCellRenderer 。它允许您返回一个组件,该组件代表您在 JList 模型中放入的值。

默认的 CellRenderer 是DefaultListCellRenderer,它基本上是 JLabel 的扩展,并且已经设置了所有正确的外观设置。因此,您可以扩展 DefaultListCellRenderer 并在返回值上设置数组文本。

于 2012-05-18T15:23:16.763 回答
0

作为更改渲染器或覆盖的替代方法,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}));
于 2012-05-18T16:49:13.227 回答