Hallo,
ich habe ein JPanel, in welches ich beliebig viele Komponenten einfügen möchte. Wenn nur eine Komponente da ist, soll dieser das ganze Panel ausfüllen. Wenn mehrere hinzukommen, sollen sie sich den Platz teilen, wobei jede gleich viel bekommen soll. Wenn so viele Komponenten im Panel sind, dass eine Mindestgröße unterschritten wird, soll eine Scrollbar auftauchen und jede Komponente soll ihre Mindestgröße haben.
Gemacht habe ich das so:
übergeordnetes Panel:
in allen Komponenten:
Das Verhalten ist folgendermaßen:
-Wenn die erste Komponente hinzugefügt wird, füllt diese das ganze Panel aus (wie gewünscht). Wenn nun per Maus gezogen wird und die Größe der Komponente verkleinert werden soll, wird diese stattdessen größer (nicht gewünscht).
-Wenn Komponenten hinzugefügt werden, teilen sie sich das Panel zu gleichen Teilen (gewünscht). Beim Verkleinern tritt das gleiche Verhalten auf (nicht gewünscht).
Woran liegt das?
Danke
ich habe ein JPanel, in welches ich beliebig viele Komponenten einfügen möchte. Wenn nur eine Komponente da ist, soll dieser das ganze Panel ausfüllen. Wenn mehrere hinzukommen, sollen sie sich den Platz teilen, wobei jede gleich viel bekommen soll. Wenn so viele Komponenten im Panel sind, dass eine Mindestgröße unterschritten wird, soll eine Scrollbar auftauchen und jede Komponente soll ihre Mindestgröße haben.
Gemacht habe ich das so:
übergeordnetes Panel:
Java:
GridBagConstraints constraints = new GridBagConstraints();
constraints.gridx = 0;
constraints.gridy = nummerDerKomponente;
constraints.fill = GridBagConstraints.BOTH;
constraints.weightx = 0.5; // hat mein Kollege gemacht, lustigerweise wird dann die ganze Breite genommen (was auch gewollt ist)
constraints.anchor = GridBagConstraints.NORTH;
constraints.weighty = 1.0;
in allen Komponenten:
Java:
setMinimumSize(new Dimension(50, mindestgroesse));
setPreferredSize(new Dimension(50, standardgroesse));
Das Verhalten ist folgendermaßen:
-Wenn die erste Komponente hinzugefügt wird, füllt diese das ganze Panel aus (wie gewünscht). Wenn nun per Maus gezogen wird und die Größe der Komponente verkleinert werden soll, wird diese stattdessen größer (nicht gewünscht).
-Wenn Komponenten hinzugefügt werden, teilen sie sich das Panel zu gleichen Teilen (gewünscht). Beim Verkleinern tritt das gleiche Verhalten auf (nicht gewünscht).
Woran liegt das?
Danke