1

我正在使用 4 JLists,它是一个数组,

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]. 请任何人帮助我...

4

1 回答 1

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()}));
    }
});
于 2013-03-05T06:07:07.503 回答