移动物品需要帮助

时间:2010-08-30 20:26:30

标签: java list

我正在尝试向上移动列表中的项目,但它不按我想要的方式工作。我选择的元素在与前面的元素交换位置后仍然保留。我正在使用Jlist。

listTasks是JLIst 和 listModel是ListModel

例如,如果我有

1
2

作为列表,在我选择2并单击向上按钮后,我得到

2
1
2

这是代码段:

public void mouseClicked(MouseEvent e) {
        int id = 0;
        if(e.getSource() == this.lblUpArrow){
            id = this.listTasks.getSelectedIndex();
            if((id > 0 ) && (this.listModel.size() != 0)){
                Object value = this.listModel.getElementAt(id);
                Object previousValue = this.listModel.getElementAt(id - 1);
                this.listModel.insertElementAt(value.toString(), (id - 1));

                this.listTasks.remove(id);
                this.listModel.insertElementAt(previousValue.toString(), (id));

                this.listModel.remove(id + 1);

            }

        }
    }

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您只需要移除要移动的元素并将其重新插入当前位置。无需交换。