我試圖什麼是從JList
選擇一個項目,點擊JButton
(任選地也點擊JRadioButton
),然後選擇的項的值將被添加到另一個JList
。項一個JButton
的問題是,我點擊了JButton
或JRadioButton
後,在原JList
項被取消,並加入到目的地JList
是「空」的東西。
第一次JLists。這些項由JCombobox中的選擇指定,並從另一個類的ArrayList中生成值。
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
ChannelList cl = new ChannelList();
cl.createList();
//determine JList by JCombobox selecton
String genre = (String)c.getSelectedItem();
switch(genre){
case "Please Select Genre of Channel":
vt1.clear();
lchannels.setListData(vt1);
break;
case "All Genres":
vt1.clear();
for(int i =0; i < cl.chList.length; i++){
char chGenre = cl.chList[i].getChGenre();
vt1.add(cl.chList[i].getChTitle());
lchannels.setListData(vt1);
}
break;
case "Entertainment":
vt1.clear();
for(int i =0; i < cl.chList.length; i++){
char chGenre = cl.chList[i].getChGenre();
if(chGenre == 'e'){
vt1.add(cl.chList[i].getChTitle());
lchannels.setListData(vt1);
}
}
break;
case "Movie":
vt1.clear();
for(int i =0; i < cl.chList.length; i++){
char chGenre = cl.chList[i].getChGenre();
if(chGenre == 'm'){
vt1.add(cl.chList[i].getChTitle());
lchannels.setListData(vt1);
}
}
break;
case "News/Business":
vt1.clear();
for(int i =0; i < cl.chList.length; i++){
char chGenre = cl.chList[i].getChGenre();
if(chGenre == 'n'){
vt1.add(cl.chList[i].getChTitle());
lchannels.setListData(vt1);
}
}
break;
case "Sci-Fi":
vt1.clear();
for(int i =0; i < cl.chList.length; i++){
char chGenre = cl.chList[i].getChGenre();
if(chGenre == 's'){
vt1.add(cl.chList[i].getChTitle());
lchannels.setListData(vt1);
}
}
break;
case "Sports":
vt1.clear();
for(int i =0; i < cl.chList.length; i++){
char chGenre = cl.chList[i].getChGenre();
if(chGenre == 't'){
vt1.add(cl.chList[i].getChTitle());
lchannels.setListData(vt1);
}
}
break;
}
}
爲更好地幫助越早張貼SSCCE/MCVE,短,可運行,可編譯,並在局部變量 – mKorbel
爲JList的/ XxxListModel硬編碼值。如果有的話,最起碼,你應該提供與JList的配置代碼。有必要了解這個問題。但理想情況下,您應該提供一個小例子來重現您的問題,我們可以編譯以查看問題而無需經過猜測。 – Gnoupi