Supprimer l'élément sélectionné de JList
Quelqu'un peut m'en dire un peu plus pour supprimer les éléments sélectionnés à partir de mon JList
?
J'ai cherché sur google et ici, mais je l'ai trouvé très nombreuses façons. De quelle manière dois-je utiliser?
Obtenir la JList du modèle (ce qui sera probablement une DefaultListModel de l'objet) et de supprimer l'élément sélectionné à partir du modèle par l'intermédiaire de son
Voir le standard Java Swing tutoriel sur ce sujet
Je ne suis pas les électeurs si c'est ce que vous demandez, mais je suis en désaccord avec vous que je pense qu'il n'y est une réponse simple. Vous obtenez l'objet sélectionné de la JList (pas d'index), et si non null-vous appeler le modèle est une méthode remove qui prend un objet:
mais j'ai presque le bas-voté non en raison de la "simplicité" de la question ou de l'absence de celui-ci, mais à cause de l'affiche originale ne l'est pas tout de son code tente de résoudre ce problème. Comment pouvons-nous deviner ce qu'il fait mal si il ne veut pas nous montrer quoi que ce soit?
d'accord, mais si on ne peut pas sauter de JList+ListModel à AbstractListModel et puis DefaultListModel, c'est compréhensible-bloquant.
removeElement(Object obj)
méthode.Voir le standard Java Swing tutoriel sur ce sujet
Je ne suis pas les électeurs si c'est ce que vous demandez, mais je suis en désaccord avec vous que je pense qu'il n'y est une réponse simple. Vous obtenez l'objet sélectionné de la JList (pas d'index), et si non null-vous appeler le modèle est une méthode remove qui prend un objet:
removeElement(obj)
.mais j'ai presque le bas-voté non en raison de la "simplicité" de la question ou de l'absence de celui-ci, mais à cause de l'affiche originale ne l'est pas tout de son code tente de résoudre ce problème. Comment pouvons-nous deviner ce qu'il fait mal si il ne veut pas nous montrer quoi que ce soit?
d'accord, mais si on ne peut pas sauter de JList+ListModel à AbstractListModel et puis DefaultListModel, c'est compréhensible-bloquant.
OriginalL'auteur Bulit | 2012-02-22
Vous devez vous connecter pour publier un commentaire.
@Andreas_D dit, les données centré, plus abstrait ListModel est la solution. Cela peut être un DefaultListModel. Vous devez définir explicitement le modèle dans la JList.
(Merci pour le commentaire de @kleopatra):
Il y a plusieurs
remove...
méthodes de DefaultListModel.Par la voie, c'est une bonne question, car il n'y a pas de solution immédiate dans l'API (ListModel).
d'accord: ListModel est le plus minime de l'ensemble de la vue de la collecte des interfaces (ni modifiable, ni modifiables) - mais ce n'est pas la Fpo problème: s/il déclare avoir lu le tutoriel (qui montre le même échantillon que vous faites ici - moins le vérifier pour être sélectionné) Attention: par défaut, le modèle d'une JList est pas un DefaultListModel, vous devez définir explicitement.
OriginalL'auteur Joop Eggen
La
JList
composant est soutenu par une liste de modèle. Donc, la seule méthode recommandée pour supprimer un élément de la liste vue est de le supprimer à partir du modèle (et d'actualisation de la vue).C'était plus ou moins générale, de répondre à une question générale.
OriginalL'auteur Andreas_D
Une fois que vous supprimez un élément du modèle, il sera également supprimé de la liste. Vous pouvez consulter ce JList article pour plus d'informations. Comme la liste est soutenue par un modèle si vous avez n'importe quelle opération sur le modèle il permettra également de réfléchir sur la liste. vous avez juste besoin d'actualiser l'affichage.
OriginalL'auteur Mike Tyson