【问题标题】:How do i add specific item in a list to another list?如何将列表中的特定项目添加到另一个列表?
【发布时间】:2015-01-11 21:17:10
【问题描述】:

我的程序有问题。由于某种原因,我无法从我的一个列表中获取项目到另一个列表。

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);    

这是我的老师告诉我要做的,但我无法解决。我已经尝试了所有方法,但我不知道该怎么做,我对这一切有点陌生,所以如果有人能帮助我,那就太好了!

【问题讨论】:

  • Netbeans 与此无关。
  • 我正在为此使用 netbeans...

标签: java arrays arraylist defaultlistmodel


【解决方案1】:

问题在于您尝试将 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

=================================

更新

尝试改变这些函数来解决问题

for 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()。 你也有问题。

【讨论】:

  • 谢谢,它工作得更好一点,但并不完全有效。但无论如何我都没有提出那个问题。
  • 发送你完整的jframe代码来检查还有什么问题
  • 我添加了我的其余编码,如果您需要其他任何东西来帮助它,请告诉我!谢谢你
  • 您说“由于某种原因无法将项目从我的一个列表获取到另一个列表”,我看不到您在代码中使用另一个列表的位置,它的变量名是什么?
  • 我的第一个列表是 lstlibrary,另一个列表是 lstplaylist。
猜你喜欢
  • 1970-01-01
  • 2013-03-25
  • 2021-08-18
  • 2019-09-22
  • 1970-01-01
  • 2021-12-22
  • 2021-02-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多