Swing GUI - Button soll Frame verändern

AleexQo

Mitglied
Hallo Leute,

ich bin gerade dabei mir die GUI-Programmierung beizubringen, ich kam nun zu dem Problem, dass ich nicht weiß wie ich das bestehende JFrame verändern kann indem ich auf einen JButton drücke. Ich will nicht die Farbe oder sonstiges ändern, sondern neue Funktionen anzeigen lassen. Hier ein Beispiel:
Es gibt in dem JFrame folgende JButtons:
1. "Freunde" - Beim drücken auf den Button, soll alles andere des JFrames verschwinden und
nur die Freunde sollen angezeigt werden.
2. "Über mich" - Alles andere soll verschwinden und man bekommt die Informationen
angezeigt, die der Nutzer hier gespeichert hat (Familienstand, Name, etc.).
3. "Fotos" - Es sollen nur die Fotos angezeigt werden.

Dazu habe ich auch noch eine zweite Frage. Und zwar: Wie funktioniert ein "Zurück-Knopf"?
Also ich drücke auf "Über mich", lese alle Informationen und will dann wieder zurück über einen "zurück-Knopf", der z.B. wie bei einem IPhone, unten angezeigt wird.

Ich möchte kein neues Fenster (JDialog oder JFrame) öffnen.

Vielen Dank schon mal für eure Zeit und eure Hilfe!
 
Dazu solltest du dich mal mit JPanels und einem Cardlayout beschäftigen.

Mit einem Cardlayout kann man einfach zwischen JPanels wechseln. Wenn du für jede Ansicht ein JPanel erstellst dann kannst du einfach zwischen den Panels wechseln 🙂
Also von Menu zu Freunde, zurück zu Menu, etc 🙂

Gruß
Robert
 
Danke dir🙂
Mit JPanels kenne ich mich schon aus. Das Cardlayout scheint sehr gut zu passen, danke.
Wie kann ich denn z.B. unten am Rand des JFrames 5 JButtons (dauerhaft) anzeigen lassen, mit denen ich (mit Hilfe des Cardlayouts) zwischen den JPanels wechseln kann? Ähnlich zu dem JTabbedPane.
 
Ähnlich zu dem JTabbedPane.
Warum benutzt du nicht gleich ein JTabbedPane? 😛

Du könntest dir auf dein JFrame ein Panel machen, welches (grafisch gesehen) aus 2 "Zeilen" besteht.
Die "obere Zeile", nimmt den größten Teil des Fensters ein und beinhaltet ein weiteres Panel (mit dem CardLayout) und stellt die einzelnen Panels dar.

Die "untere Zeile" enthält die Buttons welche den Inhalt des oberen Panels "steuern".

Wenn jetzt auf einen Button gedrückt wird dann tauschst du einfach das aktive Panel gegen ein neues (je nach dem welcher Button gedrückt wurde) aus.


Ob das die beste Idee ist - keine Ahnung. Ist jetzt nur fix aus meinen Gedanken entsprungen.

Gruß
Robert
 

Zurück
Oben