W
wizard9
Gast
Ich habe in meinem JFrame eine Content-Pane mit FlowLayout erstellt. Dieser habe ich dann wiederum eine JComponent hinzugefügt, deren Größe ich über setPreferredSize() und ein anschließendes revalidate() während der Laufzeit ändere. Anschließend rufe ich auf meinem JFrame pack() auf, um die Größes des Fensters exakt der Größe meiner JComponent anzupassen.
War das Fenster vor der Größenänderung der JComponent zu klein zur Darstellung, arbeitet pack() wie gewünscht und vergrößert es so weit, dass meine JComponent exakt reinpasst. Ziehe ich das Fenster jedoch vorher manuell größer, sodass pack() verkleinern muss, klappt das nur bedingt: Es bleiben rechts und unterhalb meiner JComponent immer Ränder übrig.
Dass die JComponent in Wirklichkeit größer sein könnte als gedacht (nämlich genau um diesen beschriebenen Rand) kann ich eigentlich ausschließen, da ich mit folgendem Aufruf eine ScrollPane verwende:
und hier erscheinen die Scrollbars eben erst, wenn ich das Fenster am Ende manuell noch genau um die auftretenden Ränder verkleinere, d.h. die Content-Pane (und somit auch die darin liegende JComponent) kann nicht größer sein als gedacht. Es muss irgendwie an einer Kombination aus pack() und der Fenstergröße vor dem Aufruf von pack() liegen.
Weiß von euch jemand, wie ich dieses Problem beheben könnte?
Gruß
Wizard
War das Fenster vor der Größenänderung der JComponent zu klein zur Darstellung, arbeitet pack() wie gewünscht und vergrößert es so weit, dass meine JComponent exakt reinpasst. Ziehe ich das Fenster jedoch vorher manuell größer, sodass pack() verkleinern muss, klappt das nur bedingt: Es bleiben rechts und unterhalb meiner JComponent immer Ränder übrig.
Dass die JComponent in Wirklichkeit größer sein könnte als gedacht (nämlich genau um diesen beschriebenen Rand) kann ich eigentlich ausschließen, da ich mit folgendem Aufruf eine ScrollPane verwende:
Java:
setContentPane(new JScrollPane(contentPane));
Weiß von euch jemand, wie ich dieses Problem beheben könnte?
Gruß
Wizard