2017-09-08 2 views
-1

Je crée un petit programme en utilisant NetBeans, et je veux être capable d'afficher le contenu d'un tableau String dans un JList. J'ai créé un JList dans un JPanel en utilisant la vue de conception de NetBeans et en faisant glisser l'option JList dans le JPanel à partir de la liste des contrôles de swing. Le JList est nommé listbox, et j'essaye de le peupler à partir d'un tableau String nommé routeList. Mon code est:Java - créer une liste dans JList à partir d'un tableau String

void startup(){ 
     routeList[0]="Julie"; 
     routeList[1]="Helen"; 
     routeList[2]="Sophie"; 
     routeList[3]="Lizzie"; 
     routeList[4]="Maria"; 
     routeList[5]="Angela"; 

     DefaultListModel<String> mmodel = new DefaultListModel<String>(); 
     for(int x=0;x<5;x++){ 
      mmodel.addElement(routeList[x]);   
     } 
     listbox.setModel(mmodel); 
     listbox.setSelectedIndex(0); 
    } 

Le code fonctionne bien, et je sais que le démarrage de la méthode est en cours d'exécution, mais rien ne se passe - la boîte de JList à l'écran reste vide.

C'est la première fois que j'utilise JList. J'ai trouvé beaucoup de choses sur le web, mais la plupart suggèrent un code comme celui-ci et je n'arrive pas à comprendre ce que je fais de mal. Cela pourrait-il être quelque chose à voir avec la propriété du modèle dans les propriétés JList? Est-ce que quelqu'un peut me dire ce qui ne va pas, ou me dire quel code je devrais utiliser, s'il vous plaît.

+0

Vous devriez regarder [demander] et [MCVE] – pvg

Répondre

0

J'ai trouvé la réponse à ma propre question ici après 2 jours de recherche !: http://ruby.fgcu.edu/courses/mpenderg/ism3230Notes/jlist.html

Suivant les conseils là-bas, je l'ai fait ce qui suit:

  1. Dans l'onglet conception, créez un JListez en glissant de la boîte de contrôle des balançoires dans un JPanel. Cliquez avec le bouton droit sur la zone JList, sélectionnez Changer le nom de la variable et nommez la zone quelque chose de significatif (j'ai appelé la liste de mines)

  2. Dans la zone Propriétés de l'onglet conception, cliquez sur le bouton contre "modèle". Un volet "options du modèle" apparaît. Choisissez "code personnalisé" dans le menu déroulant en haut, et le type

    nouvelle DefaultListModel()

    dans la case "listbox.setModel".

  3. J'avais déjà défini et rempli un tableau de 10 éléments appelé routeList []. Après initComponents j'ai ajouté le code suivant:

DefaultListModel routesmodel = (DefaultListModel)listbox.getModel(); for(int x=0;x<10;x++){ routesmodel.addElement(routeList[x]); }

Il a ensuite travaillé - je suis une boîte de JList scrollable avec des données!