GridBagArray Eigenheiten
Marc
- java
0 christian0 Marc
0 Frank Schönmann
Hallo Forum
Ich hoffe, ich erreiche hiermit ein paar Java-GUI-designer unter euch. Ich habe ein kleines Problem mit dem GridBagLayout-Manager.
Ich fülle ein JPanel mit Buttons,labels etc. und verwende innerhalb des Panels den GridBagLayout-Manager und füge das panel einem JTabbedPane hinzu, dies ebenfalls unter Verwendung dieses Managers. Nun ignorieren meine Elemente (JButton z.B.) die setPreferredSize()-Methode. Komischerweise beim maximieren des Fensters übernehmen sie die von mir gewünschte grösse...
Ich suche grundsätzliche tips. Ich hab leider z.Z. kein codeausschnitt verfügbar...
Gruss, Marc
hi
oft klappt es wenn du die Methode setPrefferedSize() aufrufst bevor du die Elemente auf dem Panel anordnest.
tip:
ich mache es meistens so, das ich Panels, in denen die Elemente exact angeordnet werden sollen, folgenermaßen gestalte:
myPanel.setLayout(null);
myElement.setBounds(x, y, w, h);
myPanel.add(myElement);
ps: setBounds geht nur wenn der Manager auf null gesetzt wurde
bye
Hallo
Danke schon mal für die Tips!
oft klappt es wenn du die Methode setPrefferedSize() aufrufst bevor du die Elemente auf dem Panel anordnest.
Ich probier das mal. Leider kann ich mein Layout nicht mehr allzu stark umformen, da der Abgabetermin näher rückt. Ich habe in meinem Projekt an die 30 Fenster, die so gestaltet sind. Überall dort, wo dieses eine fixe grösse hat, also nicht resizable ist, ist das ändern der Komponenten-Grössen kein problem. Nur beim Hauptfenster im JTabbedPane ist das Problem aufgetaucht. Muss ich allenfalls dem JTabbedPane ein anderer LayoutManager zuordnen und innerhalb vom Panel alles beibehalten?
Habt ihr weitere Vorschläge?
Danke, Marc
hi!
Ich hoffe, ich erreiche hiermit ein paar Java-GUI-designer unter
euch. Ich habe ein kleines Problem mit dem GridBagLayout-Manager.
Aus "Thinking in Java" von Bruce Eckel:
=== cut ===
The GridBagLayout provides you with tremendous control in deciding
exactly how the regions of your window will lay themselves out and
reformat themselves when the window is resized. However, it’s also
the most complicated layout manager, and quite difficult to
understand. It is intended primarily for automatic code generation by
a GUI builder (good GUI builders will use GridBagLayout instead of
absolute placement). If your design is so complicated that you feel
you need to use GridBagLayout, then you should be using a GUI builder
tool to generate that design.
=== cut ===
Mein Tipp: GridBagLayout kicken und alles mit BoxLayout und den
anderen Layout-Managern machen. Damit spart man sich nach meiner
Erfahrung eine Menge Ärger.
bye, Frank!