Hallo Java Freunde!
Ich habe ein kleines Pröblemchen, was wir hoffentlich schnell lösen können.
Folgendes habe ich gemacht: Ich habe auf meinem Hauptfenster (JFrame) eine Borderlayout gesetzt. Für jede Ecke (EAST, WEST, CENTER, ...)habe ich nun auch ein eigenes JPanel erstellt.
Auf einen dieser JPanels (EAST) habe ich wieder ein neues Layout draufgesetzt (GrigLayout). Wenn ich nun hier in jede Zelle meine Buttons hinzufüge, dann werden ihre Größe vom LayoutManager verändert.
Mit dieser Zeile wird die Größe meines Buttons verändert.
Damit das nicht geschieht habe ich folgenden Code geschrieben:
Bitte beachten, dass eastPanel das GridLayout hat. Leider wird die Größe des startButtons mit dieser Zeile trotzdem vom GridLayout verändert, wie ich das nicht will.
ABER wenn ich folgende Zeilen schreibe:
Dann geht das wieder, und die Größe meines startButtons wird nicht angerührt.
Mich interessiert es nun, warum die erste Variante nicht funktioniert? Für mich sind die beiden Lösungen eigentlich identisch.
Ich hoffe, ihr könnt mir helfen.
Danke
Alex
Ich habe ein kleines Pröblemchen, was wir hoffentlich schnell lösen können.
Folgendes habe ich gemacht: Ich habe auf meinem Hauptfenster (JFrame) eine Borderlayout gesetzt. Für jede Ecke (EAST, WEST, CENTER, ...)habe ich nun auch ein eigenes JPanel erstellt.
Auf einen dieser JPanels (EAST) habe ich wieder ein neues Layout draufgesetzt (GrigLayout). Wenn ich nun hier in jede Zelle meine Buttons hinzufüge, dann werden ihre Größe vom LayoutManager verändert.
Code:
eastPanel.add(startButton);
Damit das nicht geschieht habe ich folgenden Code geschrieben:
Code:
eastPanel.add(new JPanel().add(startButton));
Bitte beachten, dass eastPanel das GridLayout hat. Leider wird die Größe des startButtons mit dieser Zeile trotzdem vom GridLayout verändert, wie ich das nicht will.
ABER wenn ich folgende Zeilen schreibe:
Code:
JPanel eastP1 = new JPanel();
eastP1.add(startButton);
eastPanel.add(eastP1);
Dann geht das wieder, und die Größe meines startButtons wird nicht angerührt.
Mich interessiert es nun, warum die erste Variante nicht funktioniert? Für mich sind die beiden Lösungen eigentlich identisch.
Ich hoffe, ihr könnt mir helfen.
Danke
Alex