在java中将一个jlist中的选定项显示为另一个jlist

时间:2013-03-05 05:55:29

标签: java swing jlist

我正在使用4个JList s,这是一个数组,

JList jlst = new JList[4];

然后我从对象数组中添加第一个列表项

jlst[0].setListData(getObjAL());

这里函数getObjAL()函数将给出对象数组。

我想将第一个列表(jlst[0])的所选项目显示在第二个列表(jlst[1])中。

为此我正在编写代码,

jlstPrimitives[i].addListSelectionListener(new ListSelectionListener() {
    @Override
    public void valueChanged(ListSelectionEvent listevt) {
        Jlist objLstTemp = (Jlist) listevt.getSource();
        jlst[1].setListData(objLstTemp.getSelectedValue()));
    }
});

但它没有显示在list[1]中。 请任何人帮助我......

1 个答案:

答案 0 :(得分:1)

我可以想到可能出错的十几件事,其中任何一件都不会对你产生影响。为了在将来获得更好的支持,请发布一个演示您问题的可运行示例。粘合代码脱离上下文没有帮助(很多)。

从您的代码中,getObjAL()似乎返回了一个Object[]数组(单维),但是当您选择一个值时,您似乎假设所选的值实际上是一个数组,我很确定不是。

JList#setListData应该是对象数组(Object[])或Vector

尝试这样的事情。

jlstPrimitives[i].addListSelectionListener(new ListSelectionListener() {
    @Override
    public void valueChanged(ListSelectionEvent listevt) {
        Jlist objLstTemp = (Jlist) listevt.getSource();
        jlst[1].setListData(new Object[]{objLstTemp.getSelectedValue()}));
    }
});