Ajout d'éléments à une JList
J'ai un tableau d'objets qui contiennent le nom des clients, comme ceci: Customers[]
Comment je peux ajouter ces éléments à une JList automatiquement lorsque j'appuie sur un bouton? J'ai essayé quelque chose comme ceci:
for (int i=0;i<Customers.length;i++)
{
jList1.add(Customers[i].getName());
}
Mais j'obtiens toujours une erreur. Comment je peux résoudre ce problème? Je suis en train de travailler sur NetBeans.
L'erreur qui s'affiche est "non adapté à la méthode add(String). Par la façon dont ma méthode getName est de retour, le nom du client dans une Chaîne de caractères.
Ce type d'erreur, qui êtes-vous? Aussi, plus le code sera faire de votre question plus facile à comprendre.
Sent comme une mauvaise liste ajouter quelque chose à l'!
Comment Utiliser les Listes
Sent comme une mauvaise liste ajouter quelque chose à l'!
Comment Utiliser les Listes
OriginalL'auteur Little | 2013-04-25
Vous devez vous connecter pour publier un commentaire.
La
add
méthode que vous utilisez est leContainer#add
méthode, donc certainement pas ce dont vous avez besoin.Vous devez modifier le
ListModel
, par exempleEdit:
J'ai ajusté l'extrait de code pour ajouter les noms directement sur le modèle. Cela évite la nécessité d'un moteur de rendu personnalisé
model.addElement( customers[i].getNmae() );
?Je préfère ajouter les éléments de données directement dans le modèle, et de décider dans le rendu de ce genre de propriétés que je veux montrer. Mais oui, si je voulais correspondre le code dans la question de plus près j'aurais besoin d'ajouter le nom, et de remplacer le
<Customer>
par<String>
dans la liste et la définition du modèlen'est-il pas d'autres moyen plus facile de le faire? Je veux dire plus transparente pour l'utilisateur. Je me souviens que dans d'autres langues, il était facile de mettre la liste.additem()
C'est aussi simple que d'appeler
addElement
sur le modèle de l'iso sur la vue (=leJList
). Pas vraiment difficile, je diraisce n'DefaultListModel<Client> model = new DefaultListModel<>()?
OriginalL'auteur Robin
Ajouter à la
ListModel
plutôt que directement à laJList
lui-même. Vous utilisez actuellement la ajouter méthode qui n'affecte pas le contenu de la liste.DefaultListModel
est mutable, donc peut être mis à jour au moment de l'exécution.Déclarant:
Ajoutant:
OriginalL'auteur Reimeus