2011-09-04 4 views
2

J'ai deux JList s.ajouter un élément à la liste J

Liste A a les éléments suivants:

  • deux
  • item4

liste B qui est pour l'instant vide.

Mon cadre a ces deux listes et un bouton Vérifiez. Une fois que je clique sur le bouton, l'élément sélectionné de la liste A est vérifié s'il s'agit d'un entier. Dans ce cas, l'élément sélectionné doit être transféré à la liste B et retiré de la liste A.

Ce que je l'ai fait jusqu'à présent est en cliquant sur le bouton, l'élément se copié mais une fois que je choisis un autre élément précédent être remplacé par le nouvel élément que je ne veux pas.

Comment pouvez transférer (ajouter) l'élément à l'autre liste et le retirer du premier, de cette façon j'ai enfin la liste avec tous les éléments sans être remplacé par les nouveaux éléments.

Répondre

5

Utilisez un DefaultListModel.

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

listA.setModel(dlmA); 

Maintenant, la même chose pour votre liste B.

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

Si vous voulez ajouter des éléments à votre deuxième liste, il suffit de les ajouter à la DefaultListModeldlmB. Cela signifie que vous devez garder une référence à dlmB dans votre classe ouvrière, de cette façon vous pouvez ajouter des éléments à l'intérieur de l'ActionListener de votre bouton.

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

Merci, cela a fonctionné! – JaX

Questions connexes