À l'aide de la JList .setModel() la méthode avec une classe comme un argument

Mon but ultime est d'avoir une JList qui actualise son contenu au moment de l'exécution, et j'ai trouvé une solution qui fonctionne à partir de ce post ici DONC, mais je suis curieux de savoir pourquoi mon idée de départ n'a pas.

Maintenant, j'ai quelque chose comme cette configuration et il fonctionne:

DefaultListModel default = new DefaultListModel();

for(int i = 0; i < array.size() ; ++i){
   test.addElement(array.get(i));
}
list.setModel(default);

Ci-dessous a été mon plan initial. Je voulais avoir une classe qui a mis en place ListModel être passé comme argument, en espérant qu'il serait actualiser la JList.

SomeClass test = new SomeClass(); //Implements ListModel
list.setModel(test);

ou

SomeClass test = new SomeClass(); //Implements ListModel
list = new JList(test);

Aucune de ces travaux, ce qui me confond. Ces deux dernières méthodes de travail d'une certaine façon, le code est beaucoup plus propre.

Grâce.

Passant une classe ListModel à la place d'une instance de cette classe est un compilateur d'erreur. Pourquoi êtes-vous confus ?
Je pense que mon code démo est un peu trompeur, désolé. C'est ce que je faisais, je vais modifier le code pour que cela soit plus clair.
Pourquoi ne pas ces deux dernières méthodes de travail? Veuillez fournir l'erreur que vous voyez. Si SomeClass s'étend ListModel, puis les deux de ces méthodes de travail.
votre SomeClass code serait bon de voir.

OriginalL'auteur Koop | 2010-11-20