Größenangaben nach myFrame.show() anders
-
Ich habe ein Frame dem ich mehrere JPanels und ein JScrollPane mit add() hinzu füge. Dieser Frame besitzt das FlowLayout.
Den Panels und dem Pane habe ich mit setSize() Größenangaben zugewiesen.
Wenn ich mir die Größen vor mainFrame.show() ausgeben lasse ist noch alles so wie ich es gesetzt habe.
Aber nachdem ich mainFrame.show() aufgerufen habe sind die Größen komplett anders.Kann es sein, dass das mit dem FlowLayout zusammen hängt ?
Wenn ich nähmlich den Layoutmanager herrausnehme stimmen die Größen auch nach mainFrame.show(), aber die Komponenten sind halt nicht nebeneinander.Kann das jemand erklären ?
-
Original erstellt von stevg:
**
Kann es sein, dass das mit dem FlowLayout zusammen hängt ?**Jo! Das hängt damit zusammen. Wenn du einen Layoutmanager benutzt, dann hat die Größe, die du mit "setSize" setzt, ungefähr garkeine Bedeutung. Die Größe kannst du dann mit Methoden wie setPreferredSize, setMinimumSize und setMaximumSize kontrollieren.
-
In der API-Dokumentation steht :
A flow layout lets each component assume its natural (preferred) size.
...es lohnt sich, gelegentlich einen Blick in diese Dokumentation zu werfen. Man findet da meistens das, was man sucht!
-
Ok. werd beim nächstenmal genauer lesen.(so'n forumeintrag ist nur immer bequemer)
Aber ist es denn jetzt überhaubt nicht möglich, dass Komponenten, deren Größe ich vorgebe und in ein FlowLayout setzen, die vorgegebene Größe behalten.
[ Dieser Beitrag wurde am 02.05.2003 um 18:11 Uhr von stevg editiert. ]
-
Original erstellt von stevg:
**
Aber ist es denn jetzt überhaubt nicht möglich, dass Komponenten, deren Größe ich vorgebe und in ein FlowLayout setzen, die vorgegebene Größe behalten.
**"A flow layout lets each component assume its natural (preferred) size."
...setPreferredSize?!
-
huch