Hey,
wie der Titel schon sagt bin bräuchte ich mal eine kleine Erklärung für Listener, habe bereits einige Tutorials durchgelesen aber nicht ganz verstanden (auch hier im FAQ).
Also die Klassen:
DataObject, welches sämtliche Daten hält. (wobei es sich um ~20 verschiedene Attribute handelt.)
Database, wo wie persistent gespeichert sind.
DataList, eine Liste von DataObjects
gui...
In der gui werden mir die Daten von dataObject schön angezeigt, nun möchte ich welche ändern und habe zum Speichern einen Edit Button.
Wenn ich diesen betätige rufe ich ein Objekt von DataChangeEvent auf.
Diesem Objekt wird was übergeben?
Vermutlich der Name des gerade bearbeitetem DataObject und dann noch sämtliche Attribute.
Oder wäre es besser die setter von DataObject direkt in der gui zu machen, aber dann würde es wieder zu so einer gemeinen Bindung kommen.
Wie sollte ich die Daten nun am besten ändern?
Vor allem, sollte ich dann von ChangeEvent einfach nur die Daten an die DataList weitergeben und diese dort verändern oder das DataObject schon in ChangeEvent.
Was ist dann mit der Database?
Soll ich von ChangeEvent die datenbank und die liste verständigen oder nur die Liste und von dort aus die Datenbank updaten?
Ich habe dazu jetzt keinen Java Code, ist nur ein Gedankengang.
Also:
Obwohl ich ja eigentlich bereits alles in der actionPerformed machen kann und dann mit ner Methode dort auch die DB updaten...
Ich sehe zwar, das bei jedem Listener Beispiel ein Interface implementiert wird aber ich verstehe nicht ganz wozu ich es hier benötigen würde.
wie der Titel schon sagt bin bräuchte ich mal eine kleine Erklärung für Listener, habe bereits einige Tutorials durchgelesen aber nicht ganz verstanden (auch hier im FAQ).
Also die Klassen:
DataObject, welches sämtliche Daten hält. (wobei es sich um ~20 verschiedene Attribute handelt.)
Database, wo wie persistent gespeichert sind.
DataList, eine Liste von DataObjects
gui...
In der gui werden mir die Daten von dataObject schön angezeigt, nun möchte ich welche ändern und habe zum Speichern einen Edit Button.
Wenn ich diesen betätige rufe ich ein Objekt von DataChangeEvent auf.
Diesem Objekt wird was übergeben?
Vermutlich der Name des gerade bearbeitetem DataObject und dann noch sämtliche Attribute.
Oder wäre es besser die setter von DataObject direkt in der gui zu machen, aber dann würde es wieder zu so einer gemeinen Bindung kommen.
Wie sollte ich die Daten nun am besten ändern?
Vor allem, sollte ich dann von ChangeEvent einfach nur die Daten an die DataList weitergeben und diese dort verändern oder das DataObject schon in ChangeEvent.
Was ist dann mit der Database?
Soll ich von ChangeEvent die datenbank und die liste verständigen oder nur die Liste und von dort aus die Datenbank updaten?
Ich habe dazu jetzt keinen Java Code, ist nur ein Gedankengang.
Also:
Java:
class gui{
add btn
btn.addActionListener(new DataChangeEvent(DataObject));
}
class DataChangeEvent implements ActionListener{
DataObject obj;
public DataChangeEvent(DataObject){ //oder auch die Attribute??
this.obj=DataObject;
}
public void actionPerformed(ActionEvent e){ //Hier dann alles zusammensetzen? Dann müsste ich aber auch von der gui sämtliche Felder erhalten.
//oder an DataList weiterleiten?
}
Obwohl ich ja eigentlich bereits alles in der actionPerformed machen kann und dann mit ner Methode dort auch die DB updaten...
Ich sehe zwar, das bei jedem Listener Beispiel ein Interface implementiert wird aber ich verstehe nicht ganz wozu ich es hier benötigen würde.