2011-09-04 93 views
2

我有两个JList s。添加元素到Jlist

列表A具有以下元素:

  • ITEM4

列表B是对于现在是空的。

我的框架有这两个列表和一个按钮验证。一旦我点击该按钮,列表A的选定项目就会被验证是否是一个整数。如果是这样,选择的项目已被转移到列表B,名单A.删除

我做了什么至今在按钮上点击时,该项目得到复制但一旦我选择了另一个项目的前一换成我不想要的新物品。

如何将项目转移(附加)到另一个列表中并将其从第一个列表中移除,这样我最终得到了列表中的所有项目而不被新项目取代。

回答

5

使用DefaultListModel

DefaultListModel dlmA = new DefaultListModel(); // For list A 
dlmA.addElement(1); 
dlmA.addElement("two"); 
dlmA.addElement(78); 
dlmA.addElement("item4"); 

listA.setModel(dlmA); 

现在,同样为您的列表B.

DefaultListModel dlmB = new DefaultListModel(); // For list B 
listB.setModel(dlmB); 

如果你想将项目添加到您的第二个列表,只需将它们添加到DefaultListModeldlmB。这意味着您必须在工作类中保留对dlmB的引用,这样您可以在按钮的ActionListener中向其添加元素。

public void actionPerformed(ActionEvent evt) 
{ 
    // Perform your checks. If you want to add it to list B, use: 
    dlmB.addElement(yourNewElem); 
} 
+0

谢谢,它的工作! – JaX