du probierst verschiedene Regeln aus die mehr oder weniger das machen was sie sollen und scheinst dich über alles aufzuregen,
was wünschst du dir denn was passiert und wie soll das automatisch passieren?
ach so, was benötigt hast du ja gesagt, aber dann auch ein wenig nach Regeln dazu vorgehen,
neben weightx & weighty, die auch nicht immer beide und gleich zu befüllen sind, gibt es noch ein paar logisch naheliegende andere Dinge in GridBagConstraints,
zuallererst zu nennen und entsprechend auch die ersten Parameter im einem Konstruktor sind gridx/ gridy
ist dir bewußt dass es ein Konzept von Zellen mit x- und y-Position gibt? dass du gar keine Koordinaten in deinem Posting nennst, läßt es etwas bezweifeln,
fill ist auch noch interessant, soll eine Komponente seine Zelle im Layout komplett befüllen oder nicht, wenn nicht dann mit anchor innerhalb der Zelle zu platzieren
wie das GridBagLayout von alleine reagiert ist etwas ungewiss,
eine einzelne Zelle eingefügt kann automatisch den gesamten Platz bekommen oder eher so klein wie nötig gehalten werden, dann in der Mitte des Panels liegen, oder links oben oder links mitte oder wer weiß wo,
genauso fraglich kann die eingefügte Komponente innerhalb dieser erstellen Zelle automatisch die ganze Zelle ausfüllen oder kleiner, dann die Frage wie angeordnet, mittig, linke oben oder … usw.
defensiv schlau ist immer, dazu keine Annahmen zu haben, sich nicht unbedingt dazu aufzuregen, sondern in Ruhe zu überlegen, zu testen, Standardverhalten feststellen und mit Konfiguration beeinflussen
wenn am Anfang eingefügt eine CheckBox in der Mitte erscheint kann theoretisch die erste Zelle bereits den kompletten Platz belegen und nur die Komponente darin mittig platziert sein,
mit deinem anchor-Test ohne Auswirkung ist dann aber ziemlich deutlich, dass die Zelle an sich klein ist,
weightx & weighty auf 1 bewirken genau wie zu vermuten, dass die Zelle nun den kompletten Platz in x und y-Reichtung bekommen,
wie danach die Komponente darin aussieht ist zu schauen, anscheinend bist du zufrieden, anchor tut was wenn nötig?
sobald eine zweite Zelle dazukommt ist umso wichiger wie es um die Kooridinaten x/y steht, hast du bei beiden 0/0? ungünstig,
jede eingefügte Komponente/ Zelle sollte eigene Koordinaten haben,
wenn gleiches x, dann gleiche Zeile, wenn gleiches y, dann gleiche Spalte,
alle Zellen in einer Zeile haben gleiche Höhe, alle Zellen in einer Spalte gleiche Breite,
je nach unterschiedlichen Kompontenen und unterschiedlichen weightx/ y für alle Zellen in einer Zeile/ Spalte wird die Aufgabe für das Layout, über alle Breiten und Höhen insgesamt zu entscheiden, evtl. schwierig…
so wie es klingt hat die erste Zelle bei dir Position 0/0 mit weight 1/1 und die zweite Position 1/1 mit weight 0.1/0.1, ist es so? Code würde genaueres zeigen
in meinem Fall klingt deine Beschreibung dazu jedenfalls passend, die zweite Spalte und zweite Zeile bekommt jeweils ca 10%, Verhältnis 1 zu 0.1, unten rechts halt etwas Platz
weil nicht mehr minimaler Platz ohne weight sondern durchaus 10% Platz, geht es halt etwas nach links, ca. 10% der Breite des Panels?
das klingt nach Konfiguration, nicht verwunderlich, was hattest du denn von den weight 0.1 erwartet?
man setzt natürlich nicht immer beide weight auf gleichen Wert, sondern sie haben unterschiedliche Bedeutung, Gewichtung in Höhe und Breite,
für dein Beispiel bieten sich drei Zellen untereinander an, Position 0/0, 0/1, 0/2,
ohne andere Konfiguration sollten 3 CheckBoxen untereinander wieder in der Mitte des Panels kommen,
weightx auf 1 gesetzt bei einer oder allen Boxen und anchor dürfte sie nach links verschieben, wohl noch in mittlere Höhe des Panels,
wenn weighty verwendet, dann wird auch die gesamte Höhe benutzt, je nach Verhältnis, 0.33 zu 0.33 zu 0.33 ist dabei genausogut wie 1 zu 1 zu 1,
wenn auf diese Weise jede Box/ Zelle ein Drittel der Höhe bekommt, kann anchor auch noch mitspielen
usw.
Probleme gibt es bei GridBayLayout genug, aber die einfachsten Beispiele, die sollten wohl noch gehen