Hallo Java-Experten,
ich bin absoluter GUI-Neuling und mir kam während der Planung eines Programmes folgende Frage in den Sinn:
Nehmen wir an, ich habe eine JTable, in der eine Liste von Datensätzen dargestellt wird. Auf Knopdruck soll ein neues Fenster geöffnet werden um den markierten Datensatz zu bearbeiten. In diesem Fenster soll es einen „Speichern“- und einen „Abbrechen“-Button geben.
Nun soll, wenn der „Speichern“-Button gedrückt wurde die Liste aktualisiert werden.
Wie bewerkstelligt man in so einem Fall prinzipiell die Kommunikation zwischen den Fenstern? Da gibt’s doch bestimmt 'n Standard-Konzept, oder?
Mir geht’s erstmal nur um’s Konzept, da ich noch in der Planungsphase bin. Will mir da nur gerne erstmal 'n Bild über die Methodik verschaffen bevor ich wild 'drauflos UML-Klassendiagramme erstelle. 
Gruß,
Benjamin
Da gibt’s doch bestimmt 'n Standard-Konzept, oder?
Google mal nach „Model-View-Controller“.
Servus
Tom
Da gibt’s doch bestimmt 'n Standard-Konzept, oder?
Google mal nach „Model-View-Controller“.
Hat mit seinem Problem eigentlich nix zu tun…nur mit Darstellung von Daten in einer Tabelle (Dat ist die View) und die Daten im JtableModel (das Model).
Zur Frage:
Du erstellst für die Eingabe eine Klasse, die von JDialog erbt. Da drin deine Eingabefelder und besagte 2 Buttons. Den Dialog erzeugst du und setzt ihn mit setVisible(true) sichtbar. Nun bleibt der „Quelltext an der Stelle stehen“, anders gesagt jetzt läuft dein Dialog und dort passiert alles. Im Dialg kommt ein ActionListener auf die 2 Buttons. Speichern setzt ne Statusvariable auf true, Abbruch nicht. In beiden Fällen machst du den Dialog mit this.setVisible(false) zu. Nun gehts im hauptquelltext weiter. Auch wenn der Dialog nicht mehr sichtbar ist kannst du noch auf diese Instanz zugreifen. Also fragst du die gestzte Statusvariable ab und wenn die true ist noch die eingegebenen Werte (Bitte eine Methode im Dialog schreiben, nicht direkt auf die Eingabefelder greifen).
Fertig.
Michael
Da gibt’s doch bestimmt 'n Standard-Konzept, oder?
Google mal nach „Model-View-Controller“.
Hat mit seinem Problem eigentlich nix zu tun…nur mit
Darstellung von Daten in einer Tabelle (Dat ist die View) und
die Daten im JtableModel (das Model).
Hat sehr wohl mit dem Problem zu tun, da nach dem Standardkonzept gefragt war.
Das Model-View-Controller-Muster ist mehr als eine komplizierte Art, einen Datensatz in einer Benutzeroberfläche darzustellen. Einen Mehrwert bringt es erst, wenn mehrere Views im Spiel sind, die es zu synchronisieren gilt… z.B. in diesem Fall eine Listendarstellung und einen Pflegedialog.
Servus
Tom