Jlist Elemente hinzufügen

Mens

Mitglied
Hallo an alle,
ich bräuchte ein wenig hilfe zu einem Problem, und zwar habe ich eine JList und ich will in ihr ein par elemente hinzufügen, beim ersten Element klappt das zwar, aber danach nicht mehr.
Hier ein wenig Code:
Die methode für das hinzufügen von einer Bean weed in eine ArrayList.
Java:
    public boolean add(Weed w){
        boolean ajouteOk = false;
        if(ar!=null){
            ar.add(w);
            ajouteOk = true;
        }
        return ajouteOk;
    }
Die methode in der Klasse Controller, die von der Klasse Ihm (Views) aufgerufen wird.
Java:
    public void add(Weed w){
        boolean ok = worker.add(w);
        if(ok ==true){
            System.out.println("La weed "+ w.getNom() +" a été ajoutée.");
        }
    }
Hier die methode von der Views Klasse.
Java:
  private void btnAddActionPerformed(java.awt.event.ActionEvent evt) {                                       
        boolean indica = true;
        boolean sativa = false;
        boolean inte =false;
        boolean exte = false;
        String nom = tfNom.getText();
        if (comboBox.getSelectedItem().toString().equals("Indica")) {
            indica = true;
            sativa = false;
        } else {
            indica = false;
            sativa = true;
        }
        int taux = Integer.parseInt(tfTaux.getText());
         inte = radBtnInd.isSelected();
         exte = radBtnOut.isSelected();
        w = new Weed(nom, indica, sativa, taux, inte, exte);
        refCtrl.add(w);
        DefaultListModel listmodel = new DefaultListModel();
        listmodel.addElement(refCtrl.showAll(w));
        jList1.setModel(listmodel);
    }
Noch die Methode showAll.
Java:
public String showAll(Weed w){
        String result = w.getNom()+" "+w.isIndica()+" "+w.isSativa()+" "+w.getTaux()+" "+w.isExte()+" "+w.isInte();
        return result;
    }
Und noch im Controller.
Java:
public String showAll(Weed w){
        String beuh = worker.showAll(w);
        if(!beuh.equals("")){
            System.out.println("nest pas null");
        }
        return beuh;
    }
 
Du erzeugst bei jedem Aufruf der 'btnAddActionPerformed' in Zeile 19
deiner View-Klasse ein neues ListModel, dem Du ein Element hinzufügst.
Die Deklaration des ListModel müsste außerhalb dieser Methode stattfinden,
damit es funktioniert. Auch ist es nicht nötig, das ListModel nach jedem
Hinzufügen eines Elements per setModel() erneut zu setzen.

VG ROlf
 
Zuletzt bearbeitet:
Du erzeugst bei jedem Aufruf der 'btnAddActionPerformed' in Zeile 19
deiner View-Klasse ein neues ListModel, dem Du ein Element hinzufügst.
Die Deklaration des ListModel müsste außerhalb dieser Methode stattfinden,
damit es funktioniert. Auch ist es nicht nötig, das ListModel nach jedem
Hinzufügen eines Elements per setModel() erneut zu setzen.

VG ROlf
Man wieso bin ich darauf nicht selber gekommen..
Danke!
 

Zurück
Oben