# Tipps für Gui-Programmierung?



## marioschluse (19. Jan 2013)

Hallo Leute,
ich bin neu im Forum.
Ich fange gerade an, ein sehr kleines Verwaltungsprogramm zu schreiben,
wo mehrere Fenster geöffnet sein können.

Aktionen von Fenstern sollen Auswirkungen auf andere Fenster haben usw.
(z.B irgendein Text den man eingegeben hat, soll auf einem anderen Fenster dargestellt werden.)

Meine Frage: Wie realisiere ich sowas am Besten?
Also welches "Pattern"? Bisher habe ich es mit getter und setters gemacht....

Ich hoffe ihr könnt mir gute Tipps geben

Danke


----------



## Gast2 (19. Jan 2013)

JDialog
ansonsten könnte man auch einzelne Elemente in einem anderen Fenster erneut aufrufen


----------



## Fab1 (20. Jan 2013)

Dafür ist sicherlich kein Pattern nötig oder musst du unbedingt ein benutzen?


----------



## bERt0r (20. Jan 2013)

Eine Oberfläche wo der Benutzer mit mehreren Fenstern gleichzeitig interagieren soll? Guck dir JDesktop Pane und JInternalFrames an.


----------



## marioschluse (20. Jan 2013)

Hi,
erstmal vielen Dank für die Antworten.
Leider konnten sie meine Fragen nicht wirklich beantworten,
weil ich meine Fragen zu ungenau formuliert habe.

Also ich versuch noch einiges zu ergänzen:

In Fenster A wird ein button geklickt und dynamisch ein neues Fenster B geöffnet.
In B gibt es dann vers. buttons, wo man z.B einen Wert in A verändern kann, einen Wert an A übergeben,
oder sich Werte von A holen kann.
Zudem soll dann noch eventuell ein dynamisch erzeugtes Fenster C geben und durch B auch verändert werden können.

Wie sollte ich das Problem lösen?
Ich hab nur primitive Ideen...
- A übergibt beim Aufrufen von B einen Zeiger, sodass B direkt auf A zugreifen kann.
- A hat public static getter und setter....
(Welche davon ist denn die bessere?)
Beide erscheinen mir nicht besonders elegante lösungen zu sein....


----------



## Fab1 (20. Jan 2013)

Nunja, du könntest ja der Klasse B im Konstruktor ein Objekt von A übergeben und somit dann den Zustand von der Klasse A verändern. Bei der Klasse C wäre es dann auch so.


----------



## Robokopp (20. Jan 2013)

Ich würde eine haupt klasse machen,  die alle Oberflächen verwaltet und anfragen entgegen nimmt und weiterleitet


----------



## vanny (20. Jan 2013)

Wenn alle Ansichten das gleiche Datenmodell benutzen, dann MVC.


----------



## marioschluse (20. Jan 2013)

Robokopp hat gesagt.:


> Ich würde eine haupt klasse machen,  die alle Oberflächen verwaltet und anfragen entgegen nimmt und weiterleitet



- Hört sich nicht schlecht an, wie sollen denn alle Oberflächen verwaltet werden?
Geht das auch, wenn die anderen Oberflächen "anonym" sind?





Fab1 hat gesagt.:


> Nunja, du könntest ja der Klasse B im Konstruktor ein Objekt von A übergeben und somit dann den Zustand von der Klasse A verändern. Bei der Klasse C wäre es dann auch so.



- Ist auch 'ne gute Idee, aber wenn z.B Klasse B sowohl von A als auch von C und sogar vlt D 
aufgerufen werden kann, brauch ich ja 3 vers. Kontruktoren....


----------



## Robokopp (20. Jan 2013)

Die haupt klasse muss theoretisch alle Instanzen kennen. 
Dann kannst du einfach über eine statische Methode die sich in der hauptklasse befindet Objekte weiterleiten an die Instanzen. 

Edit: warum verschiedene konstruktoren?  Konstruktoren brauchst du nur bei der Erzeugung des Objekts und danach nicht mehr. Der Rest geht über setter Methoden


----------

