Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


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

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 06:10 +0100
Organization Groupes francophones par TrigoFACILE
Message-ID <20180206061045.129cf5ec@free.fr> (permalink)
References <5a791646$0$3715$426a74cc@news.free.fr>

Show all headers | View raw


Le 06 Feb 2018 02:43:18 GMT
jp <bloiiing.invalid@yahoo.com> a écrit :

> Bonjour,
> 
> Je me pose la question de savoir à quoi sert de créer une List<E> =
> new ArrayList<E>() pour stocker des objets si on utilise un 
> DefaultListModel<E> pour représenter une JList<E>? Je pose la
> question car, à première vue, le DefaultListModel est une liste en
> soi. Ou semble- t-il un Vector... Le DefaultListModel<E> dispose à
> peu près des mêmes méthodes que la List<E>. Donc, quel est l'intérêt
> d'avoir en plus une List<E>?
> 
> Merci d'avance.

DefaultListModel sert à stocker des données pour l'interface.

ArrayList sert à stocker des données en général.

En général tes données sont stockées dans des structures comme
ArrayList. Puis :
    - Soit tu veux les copier dans l'interface et qu'elles y soient
      modifiées sans que la liste d'origine soit immédiatement impactée
      (jusqu'à une sauvegarde) et dans ce cas tu fais une copie des
      données dans un modèle destiné à l'interface (DefaultListModel
      par exemple), puis dans l'autre sens quand tu veux les
      sauvegarder (pas sur un disque : juste quand tu veux qu'elles
      soient validées en mémoire).
    - 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.

Il existe un troisième cas :
    - Soit tu ne veux pas faire de distinction entre les données de ton
      programme et celles affichées dans l'interface, auquel cas tu les
      stockes directement dans un modèle, par exemple DefaultListModel.
      Ce n'est a priori intéressant que lorsque les données ne sont pas
      des données générales manipulées par le programme mais des données
      qui ne servent qu'à l'interface par exemple. Ou encore si ton
      programme est vraiment très simple.

S'il s'agit des données de ton programme, je te conseille de les
stocker dans une liste distincte de l'interface (ArrayList) et de
choisir une des deux premières options.

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