J'ai créé un client -> système de chat room, et j'ai une liste d'utilisateurs actuellement connectés, qui est actuellement affiché sur un clic de bouton dans un JTextField, cela fonctionne correctement et affiche la chaîne tableau. Cependant, j'ai ajouté un autre composant à mon GUI, étant un JList. J'ai essayé de créer une méthode appelée updateUserList pour mettre à jour le JList avec les utilisateurs qui sont connectés. J'ai essayé d'utiliser un DefaultListModel de type String, cependant cela n'affiche rien dans le JList et je ne suis pas sûr de savoir pourquoi.Binding String ArrayList vers JList
Ci-dessous est la méthode updateUserList J'ai créé:
public void updateUserList()
{
model = new DefaultListModel<String>();
for(String usernames : users)
model.addElement(usernames);
jl_users = new JList<String>(model);
}
S'il vous plaît noter que le modèle, les noms d'utilisateur et jl_users sont définis à l'échelle mondiale, donc je ne les ai pas inclus dans le poste.
Il n'y a pas assez de code. Pour commencer, il semble étrange que votre code ** update ** crée un objet JList complètement nouveau. Je m'attendrais plutôt à ce que votre application contienne un JList ** fixed **; et que vous ne mettez à jour que le modèle de ce JList. C'est tout le sens de l'approche par modèle: vous ne jetez pas vos composants d'interface utilisateur chaque fois que vous mettez à jour quelque chose. En d'autres termes, veuillez vous adresser au helpcenter pour savoir comment écrire des "questions de travail", car vous ne fournissez pas assez d'informations pour que nous puissions vous aider vraiment – GhostCat
Mon code contient un nouvel objet JList car j'étais sous l'impression que est comment ajouter des éléments à JList – DaveDavidson
Vous n'ajoutez pas de nouveaux éléments à une liste en créant une liste, mais vous créez la liste au départ, et plus tard, vous ajoutez/supprimez des éléments de la liste. peut-être vous voulez simplement lire un tutoriel sur ce genre de choses? https://docs.oracle.com/javase/tutorial/uiswing/components/list.html – GhostCat