gui-gestaltung

Status
Nicht offen für weitere Antworten.
L

lars-bw

Gast
Hallo,

ich muss euch gleich vorwarnen, denn ich bin noch blutiger Java-Anfänger :###

Meine ersten Gehversuche in Java mittels Konsole haben prima geklappt, doch bei den ersten (Tanz-)Schritten mit Swing komme ich richtig aus dem Tritt. Aber vielleicht kann mir ja einer von Euch ein paar grundsätzliche Dinge erklären, wie z.B.:

  • wenn ich mein Programm geöffnet habe und löse einen ActionEvent aus, wie kann ich das Ergebnis im gleichen Fenster darstellen (also alter Inhalt weg und neue Maske auf Gui malen). Bis jetzt habe ich immer nur einfach Bsp gemacht wo mal eine JTextarea oder ein JPanel aktualisiert wird. Vielleicht irgendwie die alte ContentPane wegwerfen und eine neue erstellen???????
  • dann habe ich mehrere Bildschirmmasken, die alle gemeinsam bestimmte Felder besitzen und sich nur im Detail unterscheiden. Wäre es denkbar, bzw. praktikabel nur eine Klasse für diese Maske zu erzeugen und über JLayeredPane die gewünschte Detailierung hervorzuheben oder sollte man für jede Bildschirmmaske eine eigene Klasse schreiben, was wiederum bei mehreren Masken fehleranfälliger wäre?

Für die Mühe beim beantworten danke ich jetzt schon mal ganz herzlich!
Lars
 

Leroy42

Top Contributor
Zu deiner ersten Frage:

Wenn du neue/andere Komponenten in deinem Fenster darstellen willst,
ist dein Ansatz richtig: Die alten Elemente entfernen und die neuen
einfügen (beim BorderLayout kannst du dir das Entfernen schenken).
Aber nicht vergessen invalidate() und validate() in dieser Reihenfolge
aufzurufen. (In allen Komponenten außer JFrame gibts dafür die
einzelne Methode revalidate(); kein Schimmer warum ausgerechnet beim
JFrame nicht)

Deine zweite Frage verstehe ich nicht ganz. Kannst du sie an einem Beispiel
verständlicher machen?
 
G

Guest

Gast
hallo Leroy,

angenommen du hast einen kfz-Handel und verkaufst Autos und Motorräder. Beide Kraftfahrzeuge haben gemeinsame Attribute wie PS, KW, Hubraum, Verbrauch - aber auch spezifische wie die Anzahl der Türe beim Auto oder Lenkertyp beim Motorrad. Falls ich jetzt ein gemeinsames Attribut ändern wollte, dann müsste ich zunächst die Automaske ändern und dann die Motorradmaske, was eben zu Fehlern führen kann. Super wäre es hingegen, wenn ich die komplette Maske in einer Gui-klasse unterbringen könnte und nur bei Bedarf den einen Teil einblende und den anderen dafür ausblende, bzw. umgekehrt. Ich weiß, das Beispiel ist jetzt nicht das Beste, aber ich denke mal mein Anliegen ist jetzt halbwegs klar rübergekommen.

Viele Grüße aus Heidelberg
Lars
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben