Hallo,
ich blick grad irgendwie gar nicht mehr durch :roll:
Ich habe die Klassen
Also Log hält eine ArrayList<LogEntry> (LogEntry ist nicht viel mehr als ein String),
und hat als Observer eine LogConsole.
Darüberhinaus bietet die Klasse eine Methode add(String) an, mit der man die ArrayList um
einen Log-Eintrag erweitern kann. In dieser Methode wird setChanged() und notifyObservers(), also die
LogConsole, aufgerufen.
Die LogConsole ist ein Fenster, dass eine JList hat. Sie wird erstellt durch:
list = new JList(Log), d.h. sie bekommt eine Instanz der Klasse Log, die ja ListModel implementiert.
Soweit gibt es keine Fehler, aber irgendwie weiss ich jetzt nicht so ganz wie ich den Zusammenhang machen soll?
Komme mit der Klasse JList eben nicht so gut zu Recht.
Die Frage lautet:
Was muss ich jetzt in die update() Methode der LogConsole hineinschreiben, dass er mir jedesmal, wenn
ich dem Log etwas adde, diese Nachricht in die JList einfügt und das anzeigt?
D.h. ich habe ja in der update-Methode eine Instanz von Log, denn das ist ja nun mal das, was die LogConsole
beobachtet.
Ich müsste jetzt einen String-Eintrag aus der ArrayList vom Log herausziehen und der JList adden, damit
die Nachricht entsprechend in meinem Konsolen-Fenster angezeigt wird.
Hab da den Überblick verloren, weil ich jetzt das Konzept von Observern verbinden muss mit irgendwelchen
ListModel-Interfaces und JLists, wovon ich keine Ahnung habe. Und das überfordert mein Anfänger-Hirn etwas :autsch:
Bin dankbar für Hilfe, falls man mein Problem nicht so genau versteht, einfach nochmal nachfragen
ich blick grad irgendwie gar nicht mehr durch :roll:
Ich habe die Klassen
Code:
LogEntry
Log extends Observable implements ListModel
LogConsole extends JFrame implements Observer
Also Log hält eine ArrayList<LogEntry> (LogEntry ist nicht viel mehr als ein String),
und hat als Observer eine LogConsole.
Darüberhinaus bietet die Klasse eine Methode add(String) an, mit der man die ArrayList um
einen Log-Eintrag erweitern kann. In dieser Methode wird setChanged() und notifyObservers(), also die
LogConsole, aufgerufen.
Die LogConsole ist ein Fenster, dass eine JList hat. Sie wird erstellt durch:
list = new JList(Log), d.h. sie bekommt eine Instanz der Klasse Log, die ja ListModel implementiert.
Soweit gibt es keine Fehler, aber irgendwie weiss ich jetzt nicht so ganz wie ich den Zusammenhang machen soll?
Komme mit der Klasse JList eben nicht so gut zu Recht.
Die Frage lautet:
Was muss ich jetzt in die update() Methode der LogConsole hineinschreiben, dass er mir jedesmal, wenn
ich dem Log etwas adde, diese Nachricht in die JList einfügt und das anzeigt?
D.h. ich habe ja in der update-Methode eine Instanz von Log, denn das ist ja nun mal das, was die LogConsole
beobachtet.
Ich müsste jetzt einen String-Eintrag aus der ArrayList vom Log herausziehen und der JList adden, damit
die Nachricht entsprechend in meinem Konsolen-Fenster angezeigt wird.
Hab da den Überblick verloren, weil ich jetzt das Konzept von Observern verbinden muss mit irgendwelchen
ListModel-Interfaces und JLists, wovon ich keine Ahnung habe. Und das überfordert mein Anfänger-Hirn etwas :autsch:
Bin dankbar für Hilfe, falls man mein Problem nicht so genau versteht, einfach nochmal nachfragen