Finde keinen passenden Layout-Manager
Dmitri Rettig
- java
Hallo,
so soll die Oberfläche meiner Applikation aussehen:
------------------------------
| | |
| | Einstel- |
| Canvas | lungen |
| | |
| | Panel |
| | |
------------------------------
| TestField |Button |
------------------------------
| |
| TextArea für Mitteilungen |
| |
------------------------------
Und folgende Eigenschaften muss die Anordnung haben:
Wenn ich das Fenster in die Breite verkleinere oder vergrössere, dann soll die das Panel mit einstellungen immer gleich gross bleiben, ebenso wie der Button. Canvas und TextField müssen
sich anpassen. Wenn ich das Fenster zusätzlich in die Höhe vergrössere oder verkleinere, dann soll sich ebenfalls Canvas in die Höhe vergrössern und das Panel mit Einstellungen. TextField, Button undTextArea müssen gleich hoch bleiben.
Das obere Fenster wird vergrössert:
----------------------------------------
| | |
| | Einstel- |
| Canvas | lungen |
| | |
| | Panel |
| | |
| | |
| | |
| | |
| | |
| | |
----------------------------------------
| TextField |Button |
----------------------------------------
| |
| TextArea für Mitteilungen |
| |
----------------------------------------
Ich benutze Swing, also statt Button JButton usw.
Einstellungspanel verhält sich wie ein Frame mit festergrösse, ebenso wie TextField, Button und TextArea, Canvas wird jeweils der grösse angepasst.
Wie kann ich diesen Effekt erreichen? Ich habe schon alles probiert, allerdings finde ich im API keinen Konstruktor eines LayoutManagers, mit welchem ich die absolute Pixelgrösse für ein Element festlegen kann, oder wenigstens eine Einstellung, dass die jeweilige Grösse [Höhe, Breite] konstant bleiben soll.
MfG Dmitri Rettig
Hi,
Wie kann ich diesen Effekt erreichen? Ich habe schon alles probiert, allerdings finde ich im API keinen Konstruktor eines LayoutManagers, mit welchem ich die absolute Pixelgrösse für ein Element festlegen kann, oder wenigstens eine Einstellung, dass die jeweilige Grösse [Höhe, Breite] konstant bleiben soll.
Für absolutes Positionieren ist hier imho das null-Layout zuständig, was aber ganz nicht zu empfehlen ist, da Du ja das Fenster variable machen willst.
Ich mag mich irren, aber ich würde wie folgt vorgehen: Deine Aufteilung mit dem GridBagLayout basteln (welches imho eh der beste Layout-manager ist) und da drin verschachtelt für die "festen" Bereiche Panels erstellen, die wiederrum mit dem null-Layout zu basteln sind.
Aber nein, ich habe das nicht ausprobiert, und nein, ich gebe keinerlei Garantien, und ja, das ist das, was mir intuitiv in den Sinn kommen würde. ;-)
Grüße, Tim