如何将列表中的特定项目添加到另一个列表?
How do i add specific item in a list to another list?
我的程序有问题。由于某种原因,我无法将项目从我的一个列表转移到另一个列表。
defaultListModel model1 = new DefaultListModel();
DefaultListModel model2 = new DefaultListModel();
//check an item is selected from listbox
if (lstlibrary.getSelectedIndex() != -1) {
int position;
position = array1.indexOf(lstlibrary.getSelectedValue());
array2.add(array1.get(position));
array1.remove(position);
//move array to listbox model
for (String value1 : array1) {
model1.addElement(value1);
}
lstlibrary.setModel(model1);
for (String value2 : array2) {
model1.addElement(value2);
}
lstlibrary.setModel(model2);
这是我的老师让我做的,但我做不到。我已经尝试了所有方法,但我不知道该怎么做,我对这一切还很陌生,所以如果有人能帮助我,那就太好了!
问题是您试图将 model2 设置为与您读取所选项目相同的列表。您必须有两个列表,例如 lstlibrary1 和 lstlibrary2
并尝试将项目从 lstlibrary1 移动到 lstlibrary2
所以更改此
的最后几行
for (String value2 : array2) {
model1.addElement(value2);
}
lstlibrary.setModel(model2);
至此
for (String value2 : array2) {
model2.addElement(value2);
}
lstplaylist.setModel(model2);
如果第二个列表对象名称是lstplaylist
同样在第二个 for 循环中,您必须使用 model2 而不是 model1
===============================
更新
尝试更改这些功能来解决问题
对于 btnToPlaylistMouseClicked() 将最后两个 for 循环更改为此
// refreshing lstlibrary to remove selected name
for (String value1 : array1) {
model1.addElement(value1);// adding elements to model1
}
lstlibrary.setModel(model1);// using model1 for lstlibrary
//refreshing lstplaylist to add new selected name
for (String value2 : array2) {
model2.addElement(value2);// adding elements to model2
}
lstplaylist.setModel(model2);// using model2 for lstplaylist
也将这些 for 循环用于 btnRemoveMouseClicked()。
你那里也有问题。
我的程序有问题。由于某种原因,我无法将项目从我的一个列表转移到另一个列表。
defaultListModel model1 = new DefaultListModel();
DefaultListModel model2 = new DefaultListModel();
//check an item is selected from listbox
if (lstlibrary.getSelectedIndex() != -1) {
int position;
position = array1.indexOf(lstlibrary.getSelectedValue());
array2.add(array1.get(position));
array1.remove(position);
//move array to listbox model
for (String value1 : array1) {
model1.addElement(value1);
}
lstlibrary.setModel(model1);
for (String value2 : array2) {
model1.addElement(value2);
}
lstlibrary.setModel(model2);
这是我的老师让我做的,但我做不到。我已经尝试了所有方法,但我不知道该怎么做,我对这一切还很陌生,所以如果有人能帮助我,那就太好了!
问题是您试图将 model2 设置为与您读取所选项目相同的列表。您必须有两个列表,例如 lstlibrary1 和 lstlibrary2 并尝试将项目从 lstlibrary1 移动到 lstlibrary2 所以更改此
的最后几行 for (String value2 : array2) {
model1.addElement(value2);
}
lstlibrary.setModel(model2);
至此
for (String value2 : array2) {
model2.addElement(value2);
}
lstplaylist.setModel(model2);
如果第二个列表对象名称是lstplaylist 同样在第二个 for 循环中,您必须使用 model2 而不是 model1
===============================
更新
尝试更改这些功能来解决问题
对于 btnToPlaylistMouseClicked() 将最后两个 for 循环更改为此
// refreshing lstlibrary to remove selected name
for (String value1 : array1) {
model1.addElement(value1);// adding elements to model1
}
lstlibrary.setModel(model1);// using model1 for lstlibrary
//refreshing lstplaylist to add new selected name
for (String value2 : array2) {
model2.addElement(value2);// adding elements to model2
}
lstplaylist.setModel(model2);// using model2 for lstplaylist
也将这些 for 循环用于 btnRemoveMouseClicked()。 你那里也有问题。