Quelqu'un peut-il me dire un moyen rapide de supprimer les éléments sélectionnés de ma JList
?
J'ai cherché sur google et ici, mais j'ai trouvé beaucoup de façons. De quelle manière devrais-je utiliser?
Comme @Andreas_D l'a dit, ListModel, plus abstrait et centré sur les données, est la solution. Cela peut être un DefaultListModel . Vous devez explicitement définir le modèle dans la liste JList. Donc (grâce au commentaire de @kleopatra):
DefaultListModel model = (DefaultListModel) jlist.getModel();
int selectedIndex = jlist.getSelectedIndex();
if (selectedIndex != -1) {
model.remove(selectedIndex);
}
Il existe plusieurs méthodes remove...
dans DefaultListModel. Au fait, c'est une bonne question, car il n'y a pas de solution immédiate dans l'API (ListModel).
Le composant JList
est pris en charge par un modèle de liste. Ainsi, le seul moyen recommandé de supprimer un élément de la liste vue consiste à le supprimer du modèle (et à actualiser la vue).
Une fois que vous supprimez l'élément du modèle, il sera également supprimé de la liste. Vous pouvez vous référer à cet article JList pour plus d'informations. Comme la liste est appuyée par un modèle, toute opération effectuée sur le modèle sera également répercutée sur la liste. il vous suffit d'actualiser la vue.