我正在使用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]
中。
请任何人帮助我......
答案 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()}));
}
});