glaube, ich habe ein JPanel
mit einem GridBagLayout
wie folgt aus:GridBagLayout Gewichte und Overlapping Komponenten
-----------------------------------------------
| | | | |
| |Left JLabel 1 | Right JLabel 1| |
| | | | |
|-glue-|Left JLabel 2 | Right JLabel 2|-glue-|
| | | | |
| | Bottom JLabel | |
| | | | |
| vertical glue |
-----------------------------------------------
Die Links/Rechts-Etiketten jeder Spanne 1 Zeile und 1-Säule, während die untere Etikett 1 Zeile und 2 Spalten erstreckt. Die horizontalen Klebstoffe auf beiden Seiten überspannen 3 Reihen und 1 Spalte. Der vertikale Klebstoff am unteren Ende umfasst 1 Reihe und 4 Spalten.
Jedes der Etiketten hat eine weighty
von 1.0
. Ferner weisen die beidseitig klebenden Kleber auch eine weighty
1.0
auf. Der vertikale Kleber hat eine weighty
von 1.5
. Derzeit, wenn ich die Größe des Panels in der y
-Ihrichtung ändere, bekommt der vertikale Kleber ungefähr 3/5 des verfügbaren Platzes und der gesamte obere Teil bekommt ungefähr 2/5 des verfügbaren Platzes.
Meine Frage ist, wie funktioniert die Gewichtung, wenn der Kleber überlappt (wenn aus der Perspektive y
-Größe betrachtet) mit den Tasten? Ohne den Kleber wäre das Gesamtgewicht der Knöpfe 3.0
gewesen: das ist ein völlig anderes Größenänderungsszenario! Wie wird das Gewicht tatsächlich berechnet (am höchsten, durchschnittlich, 'aus einer Größenänderungsperspektive gesehen',?) Und verwendet?
Vielen Dank für die Beantwortung meiner Frage, aber "wer genau weiß, was passiert": Wer tut, tatsächlich? Gibt es Java-Entwickler auf SO? :) Auch das Beispiel, das ich in meiner Frage gegeben habe, ist ziemlich einfach, aber was, wenn der Kleber und die Knöpfe sich nur teilweise überschneiden? Was passiert, wenn mehrere Spalten unterschiedliche Überschneidungen aufweisen? – shardulc
'aber was ist, wenn der Kleber und die Knöpfe sich nur teilweise überlappen? '- dann würde es noch komplizierter werden. Ich empfehle immer, verschachtelte Panels mit dem entsprechenden Layout-Manager zu verwenden, anstatt zu versuchen, ein Layout mit einem einzelnen Layout-Manager zu erzwingen. – camickr