CardLayout

JavaIsTheBest

Bekanntes Mitglied
Hallo zusammen,
habe ich das Prinzip vom CardLayout richtig verstanden? Man kann zur Laufzeit, zu den verschiedenen Layouts (z.B. BorderLayout, FlowLayout) wechseln. Man sieht aber immer nur ein Layout gleichzeitig?

Und was ist mit diesem Satz gemeint?
„…ist also quasi, wie ein BorderLayout nur mit der Option Center und man kann aber die Komponente in der Mitte austauschen.“
 

Joose

Top Contributor
Nein, du wechselst nicht zwischen verschiedenen Layouts. Das CardLayout ermöglicht einen einfachen Austausch von 2 Panels.
Du hast X JPanels (welche alle unterschiedliche Layouts haben können), welche du dem CardLayout hinzufügst, durch ein entsprechendes Methodenaufruf wird das aktuelle Panel mit dem gewünschten ausgetauscht.

Schau dir dazu am besten dieses Beispiel an: https://docs.oracle.com/javase/tutorial/uiswing/layout/card.html

Würdest du nur das Layout "austauschen" würden sich die Komponenten nur anders anordnen, der Content bliebe aber gleich.
 

JavaIsTheBest

Bekanntes Mitglied
Sagen wir mal ich benutze ein CardLayout. Im Center eines BorderLayout befindet sich ein JPanel. In dem JPanel befinden sich zwei Buttons. Könnte ich jetzt zur Laufzeit, das JPanel gegen ein anderes JPanel austauschen?
Und funktioniert das austauschen nur mit JPanels oder auch andere Komponenten?

Wann benötigt man die setMaximumSize Methode und wann die getPreferredSize Methode?
Ich hab auch schon nach den Methoden mit strg+f in der API gesucht. Die Methoden werden aber gar nicht gefunden.
 

Joose

Top Contributor
Sagen wir mal ich benutze ein CardLayout. Im Center eines BorderLayout befindet sich ein JPanel. In dem JPanel befinden sich zwei Buttons. Könnte ich jetzt zur Laufzeit, das JPanel gegen ein anderes JPanel austauschen?
Und funktioniert das austauschen nur mit JPanels oder auch andere Komponenten?
Was denn nun verwendest du nun ein CardLayout oder ein BorderLayout? ;)

Beim CardLayout wird das JPanel nicht "ausgetauscht" (oben falsch beschrieben) sondern einfach nur das eine gewünschte gezeichnet.
Beim BorderLayout kannst du nur ein anderes JPanel anzeigen lassen (egal ob Center oder sonst wo) in dem du das alte entfernst und stattdessen das neue hinzufügst.

Natürlich kannst du jegliche Komponente zur Laufzeit von deiner UI entfernen und stattdessen was anderes anzeigen lassen.

Wann benötigt man die setMaximumSize Methode und wann die getPreferredSize Methode?
Ich hab auch schon nach den Methoden mit strg+f in der API gesucht. Die Methoden werden aber gar nicht gefunden.
setMaximumSize: https://docs.oracle.com/javase/7/docs/api/java/awt/Component.html#setMaximumSize(java.awt.Dimension)
setPreferredSize: https://docs.oracle.com/javase/7/do...ent.html#setPreferredSize(java.awt.Dimension)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Von Menü: Seite zu Seite springen (CardLayout) AWT, Swing, JavaFX & SWT 8
H CardLayout beschränken AWT, Swing, JavaFX & SWT 2
P CardLayout funktioniert fehlerhaft AWT, Swing, JavaFX & SWT 13
L Java- CardLayout AWT, Swing, JavaFX & SWT 10
L CardLayout in einer Klasse? AWT, Swing, JavaFX & SWT 2
A Swing CardLayout - kein Wechsel möglich AWT, Swing, JavaFX & SWT 5
G Cardlayout Refresh Probleme AWT, Swing, JavaFX & SWT 2
padde479 LayoutManager CardLayout wechselt die Karten nicht AWT, Swing, JavaFX & SWT 5
N Swing CardLayout: Problem beim Wechsel zwischen den JPanels AWT, Swing, JavaFX & SWT 3
D Panel wird nicht angezeigt und Fragen zum CardLayout AWT, Swing, JavaFX & SWT 6
F CardLayout.show() funktioniert teilweise nicht AWT, Swing, JavaFX & SWT 5
F Swing Cardlayout aufräumen AWT, Swing, JavaFX & SWT 4
U CardLayout im Applet AWT, Swing, JavaFX & SWT 4
Q CardLayout und Klassenmethodenzugriff AWT, Swing, JavaFX & SWT 11
Q CardLayout, ausgelagerte Panels, ActionListener AWT, Swing, JavaFX & SWT 5
C Swing CardLayout dynamisch erweitern AWT, Swing, JavaFX & SWT 11
H cardlayout und jscrollpane AWT, Swing, JavaFX & SWT 14
C CardLayout in BorderLayout? AWT, Swing, JavaFX & SWT 36
W Swing Probleme mit CardLayout AWT, Swing, JavaFX & SWT 28
D JMenuBar - CardLayout (Klasse anzeigen) AWT, Swing, JavaFX & SWT 3
D JSplitPane, Jtree, CardLayout (constraint must be a string) AWT, Swing, JavaFX & SWT 9
S LayoutManager Card des CardLayout mit MenuItem auswaehlen AWT, Swing, JavaFX & SWT 9
B RootPane bzw CardLayout Transparent machen AWT, Swing, JavaFX & SWT 7
L CardLayout - Show klappt nicht AWT, Swing, JavaFX & SWT 7
D Richtige implimentierung eines CardLayout AWT, Swing, JavaFX & SWT 3
P CardLayout - Anzeigeproblem AWT, Swing, JavaFX & SWT 2
I LayoutManager CardLayout mit anonymen Components AWT, Swing, JavaFX & SWT 4
Private Void LayoutManager Cardwechsel im CardLayout auch von Card aus? AWT, Swing, JavaFX & SWT 6
E LayoutManager Erster Versuch mit Cardlayout AWT, Swing, JavaFX & SWT 2
hdi LayoutManager Problem mit CardLayout AWT, Swing, JavaFX & SWT 11
C Problem mit CardLayout :( AWT, Swing, JavaFX & SWT 10
Dragonfire Swing CardLayout Maximum Size AWT, Swing, JavaFX & SWT 7
klattiator CardLayout - Cards auf Existenz prüfen AWT, Swing, JavaFX & SWT 3
S Frage/Problem CardLayout AWT, Swing, JavaFX & SWT 2
H CardLayout - Card erstellen hinzufügen usw. bis MI (12.3.) AWT, Swing, JavaFX & SWT 2
F CardLayout.show() -> NullPointerException AWT, Swing, JavaFX & SWT 4
G CARDLAYOUT AWT, Swing, JavaFX & SWT 2
D GroupLayout an un plötzlich is CardLayout Funktion tot? AWT, Swing, JavaFX & SWT 10
J CardLayout AWT, Swing, JavaFX & SWT 10
J CardLayout AWT, Swing, JavaFX & SWT 2
J Hilfe CardLayout AWT, Swing, JavaFX & SWT 3
H Cardlayout AWT, Swing, JavaFX & SWT 3
M CardLayout: Panel wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
J Dialogfenster wird nicht aktualisiert/CardLayout AWT, Swing, JavaFX & SWT 6
m@nu StackOverflowError mit CardLayout? AWT, Swing, JavaFX & SWT 2
R CardLayout bei einem Quiz AWT, Swing, JavaFX & SWT 9
J Designfehler beim CardLayout() AWT, Swing, JavaFX & SWT 4
S Registerkarte mit CardLayout (AWT) erstellen ? AWT, Swing, JavaFX & SWT 6
D CardLayout Plus ? AWT, Swing, JavaFX & SWT 4
T CardLayout Ohne Cards/Reiter AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben