Groups | Search | Server Info | Keyboard shortcuts | Login | Register


Groups > fr.comp.lang.java > #1652

Re: Question sur les DefaultListModel

From Yliur <yliur@free.fr>
Newsgroups fr.comp.lang.java
Subject Re: Question sur les DefaultListModel
Date 2018-02-06 17:22 +0100
Organization Groupes francophones par TrigoFACILE
Message-ID <20180206172238.132467e5@free.fr> (permalink)
References <5a791646$0$3715$426a74cc@news.free.fr> <20180206061045.129cf5ec@free.fr> <5a7949b7$0$9266$426a74cc@news.free.fr>

Show all headers | View raw


Le 06 Feb 2018 06:22:47 GMT
jp <bloiiing.invalid@yahoo.com> a écrit :

> Le Tue, 06 Feb 2018 06:10:45 +0100, Yliur a écrit :
> 
> 
> >     - Soit tu veux que les données de la liste soient modifiées
> >       directement via l'interface, auquel cas tu construis un objet
> >       de modèle d'une classe à toi qui en fait va modifier ta liste
> >       (ArrayList) dès que les modifications sont appliquées dans
> >       l'interface.  
> 
> Merci de ta réponse. J'ai bien compris les différentes possibilités,
> mais est-ce que tu pourrais préciser un peu plus le point ci-dessus?
> Par objet de modèle d'une classe entends-tu qu'il faut que
> j'implémente ma propre version de DefaultListModel à partir de
> l'interface ListModel?

Je voulais dire "tu construis un objet de modèle sous la forme d'une
classe à toi".

Donc tu définis une classe qui implémente ListModel et tu passeras à la
JList un objet de cette classe.

Dans cette classe tu aurais un attribut qui référencerait la liste
réelle, à passer en paramètre au constructeur, et des méthodes qui
redirigent vers cette liste.

Pour ça tu peux hériter de AbstractListModel, qui réalise déjà certaines
des opérations annexes (gestion des écouteurs d'événements, ...), et
implémenter le reste

Tu implémentes ça comme le fait DefaultListModel, sauf que c'est une
référence à une liste externe. Donc tu dois implémenter la même liste de
méthodes que tu trouveras dans la doc de DefaultListModel. C'est
vaguement long mais ça devrait être assez simple, de ce type :

public void clear ()
{
    this.listeDonnees.clear() ;
}

Si tu utilises Eclipse ou autre environnement de développement intégré,
il se peut qu'il y ait une option pour générer une bonne partie de ce
code. Par exemple dans Eclipse voir de ce côté : clic droit sur le code
source de la classe créée -> Source... -> Generate delegate methods...
-> sélecionner celles qui t'intéressent.

Back to fr.comp.lang.java | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Question sur les DefaultListModel jp <bloiiing.invalid@yahoo.com> - 2018-02-06 02:43 +0000
  Re: Question sur les DefaultListModel Yliur <yliur@free.fr> - 2018-02-06 06:10 +0100
    Re: Question sur les DefaultListModel jp <bloiiing.invalid@yahoo.com> - 2018-02-06 06:22 +0000
      Re: Question sur les DefaultListModel Yliur <yliur@free.fr> - 2018-02-06 17:22 +0100
        Re: Question sur les DefaultListModel jp <bloiiing.invalid@yahoo.com> - 2018-02-07 03:41 +0000

csiph-web