# JList wird in einem Applet nur teilweise aktualisiert



## Guest (25. Apr 2008)

Morgen an alle.

Ich hab' ein ziemlich seltsames Problem und weiß einfach nicht mehr weiter. Nach stundenlanger Recherche im Netz wende ich mich jetzt an euch in der Hoffnung, dass mir geholfen werden kann.

Ich habe zwei Applets. Applet A soll beim Aufruf einer Methode bei Applet B etwas in die dort vorhandene JList eintragen. Dies funktioniert, was mir aber nicht viel bringt, denn der Eintrag wird nicht angezeigt.

Hier zunächst mal der wichtigste Code bei Applet A:


```
private void jTestActionPerformed(java.awt.event.ActionEvent evt) {                                      
        //appserv ist ein Referenzattribut zu Applet B
        appserv.doSomething();
        System.out.println("Applet A hat funktioniert.");
}
```

Und hier nun die aufgerufene Methode in Applet B:


```
public void doSomething()
     {
        try{
            String test="Das hier wird in die JList eingetragen.";
            model.addElement(test);
            
            //Prüfung, ob der String auch wirklich in die JList eingetragen wurde
            String test2=(String) model.getElementAt(0);
            System.out.println(test2);
            
            System.out.println("Applet B hat funktioniert.");
        }
        catch(Exception ex)
        {
            System.out.println(ex);
        }
     }
```

Für die JList verwende ich ein DefaultListModel:


```
private DefaultListModel model=new DefaultListModel();
```


```
jLog.setModel(model);
```

Soweit so gut. Es wird beim Aufruf der Methode kein einziger Fehler geworfen, das in der JList eingetragene Element wird mir bei getElementAt(0) absolut korrekt ausgegeben. Aber: *Es wird nicht in der Liste angezeigt.*

Seltsam: Ich habe noch eine weitere Methode, die bis jetzt eine Exception wirft (Datenbankzugriff, ist noch nicht fertig implementiert). Und diese Exception, warum auch immer, gibt er korrekt in der JList aus ...


```
}
        catch(ClassNotFoundException cnfe) {
            model.addElement(cnfe);
        }
```

Hab' ich etwas Wichtiges vergessen? Denn soweit ich gelesen habe, muss man beim DefaultListModel nicht extra einen ListDataListener zum Aktualisieren der JList angeben.

Ich hoffe auf Hilfe, vielen Dank im Voraus!


----------



## Kuroi (25. Apr 2008)

...


----------



## Kuroi (8. Mai 2008)

...


----------



## SlaterB (8. Mai 2008)

wenn du das ganze auf Frame/ JFrame umbaust und komplettes Code-Beispiel postest, in dem der Fehler auftritt, dann wärs aussichtsreich


----------



## Kuroi (9. Mai 2008)

...


----------



## SlaterB (9. Mai 2008)

der Client erzeugt sein eigenes JFrameServer, welches aber nie auf setVisible(true) gesetzt wird, bringt nicht viel sichtbares, dem etwas zu übergeben,
außer Logmeldungen,

wenn du separat noch einen Server gestartet hast, dann hat der an sich erstmal nix mit dem Client zu tun

unterschiedliche Java-Programme können über Sockets oder Datenbanken miteinander kommunizieren


----------



## Kuroi (9. Mai 2008)

...


----------



## SlaterB (9. Mai 2008)

was ist denn dabei eigentlich Server und Clients, zwei Applets gleichzeitig auf einer WebSeite?
ist ja nichts alltägliches,

bei Applets gibts generell viele Sicherheitseinstellungen, da kann man nicht beliebige Sockets öffnen

da ich aber JFrame statt Applet wollte, dürfte ersichtlich sein, dass ich von Applets wenig Ahnung habe


----------



## Kuroi (26. Mai 2008)

...


----------



## Kuroi (27. Mai 2008)

...


----------



## Mirko07 (28. Mai 2008)

Habs mir noch nicht angesehen, aber das Problem kommt mir bekannt vor.

Schau mal wo die Objekte deklariert bzw. *initialisiert* werden.
Wenn die GUI hängt, liegt das in einem Applet manchmal daran, daß Du eine NullPointerException verursacht hast, indem Du ein nicht initialisiertes Objekt angesprochen hast.


----------



## Kuroi (29. Mai 2008)

...


----------



## Guest (31. Mai 2008)

Ich hab vorher beim Testen das betreffende Objekt auf null getestet...


----------

