Wiederverwendung von Dialogen

.raider

Mitglied
Hallo,
ich stehe vor einem Problem bezüglich Dialogen. (Ich möchte das Problem anhand eines einfachen Beispieles erklären).

Angenommen ich habe ein Programm, dass Daten über Autos (Attribute: Marke, Kennzeichen) speichert. Durch klick auf einem Butten öffnet sich ein Fenster kann ich ein Autoobjekt erstellen.
Ein weiterer Button soll einen Dialog öffnen der alle Autos (alle Attribute eines Autos) darstellt. Der Dialog soll gleich aussehen als der zuvor erstellt, es soll lediglich um zwei weitere Buttons erweitert werden (Weiter, Zurück) um das nächste bzw. das vorherige Objekt anzuzeigen.


Dialog1 (anlegen): ImageShack® - Online Photo and Video Hosting

Dialog2 (anzeigen): ImageShack® - Online Photo and Video Hosting

jetzt zu meiner eigentlichen Frage:
wie sollte man dieses Problem elegant lösen?

Vorschlag 1:
Beide Dialoge extra erstellen.

Vorschlag 2:
Einen Dialog erstellen, an den Dialog ein Autoobjekt übergeben. Sollte das Objekt nicht null sein, die weiteren Buttons anzeigen. Ist das Objekt null die Buttons nicht anzeigen.

Oder gibt es noch eine weitere Lösung?

mfg Daniel
 

Marco13

Top Contributor
Hunderte. Ein Ausgrauen der Buttons wäre das erste, was mir einfallen würde, mit button.setEnabled(false); Ansonsten kann man sie auch mit button.setVisible(false) unsichtbar machen, aber das kann frickelig sein weil's das Layout zerhauen kann. Oder was ganz High-Leveliges, wie dem Immer-gleichen Dialog jeweils unterschiedliche "Control-Panels" übergeben (mit unterschiedlichen Button-Kombinationen drauf). Oder oder oder...
 

.raider

Mitglied
Danke für die antwort. Ich fürchte ich habe meine frage unglücklich formuliert.

Ich würde gerne wissen wie so ein Problem in der Praxis gelöst wird. Sollte man bei sehr ähnlichen Dialogen einen komplett neuen erstellen oder einen bereits bestehenden Dialog durch hinzufügen/ ausblenden/ausgrauen... von Buttons anpassen?

Wo können Probleme entstehen?

mfg daniel
 
V

vanny

Gast
Wenn du mit der selben Instanz des Dialogs arbeiten Möchtest, dann vieleicht das CardLayout.
Wenn du mit "Dem gleichen Dialog" nur die selbe Klasse meinst, dann bieten verschiedene Methoden und Konstruktor/Parameter- Variationen genug Möglichkeiten, den Dialog "dynamisch" zu erzeugen.

Gruß Vanny
 

Ähnliche Java Themen

Neue Themen


Oben