Comment effacer une JList en Java?
j'ai une jList dans le gui où je peux ajouter des données avec le bouton Ajouter.
ce que je veux ajouter un autre bouton Effacer qui va effacer tous les éléments.
j'ai essayé ceci:
private void jButtonClearActionPerfomed(java.awt.event.ActionEvent evt)
{
DefaultListModel listmodel=new DefaultListModel();
jList1 = new JList(listmodel);
if(evt.getSource()==jButtonClear) JList.setListData(new String[0];
else listmodel.removeAllElements();
}
Quand je clique sur le bouton Ajouter, cela va ajouter des éléments.
Quand je clique sur le bouton Effacer ce supprimer des éléments.
Mais quand je re-cliquez sur le bouton Ajouter, il n'y a rien dans le jList1
source d'informationauteur Pan24112012
Vous devez vous connecter pour publier un commentaire.
Vous ne devriez pas être à la réinitialisation de l'ensemble de la JList widget il suffit de supprimer certains éléments. Au lieu de cela, vous devriez être manipuler les listes modèle, puisque les modifications sont "automatiquement" synchronisé retour à l'INTERFACE utilisateur. En supposant que vous êtes, en effet, à l'aide de la
DefaultListModel
c'est suffisant pour mettre en œuvre votre "Tout Effacer" fonctionnalité:Il existe un certain nombre de problèmes, dont le premier été que votre exemple est plein de problèmes à la compilation, donc j'espère que ce n'est pas votre code.
JList
n'a pas de méthode statique appelésetListData
. Je pense que tu veux direjList1
à la place.Chaque fois que vous cliquez sur le bouton nettoyer, vous êtes à la création d'un nouveau modèle et un composant...
Vous avez réussi à déréférencé ce que jamais
jList1
pointait, donc, à tout moment vous essayez d'interagir avec elle, vous n'êtes plus en interaction avec le composant sur l'écran.L'autre problème est de vous fournir un tableau vide à la
setListData
méthode, qui, en gros, c'est comme dire, "merci de ne rien ajouter à ma liste"Essayer quelque chose comme cela;
essayer cette