Wenn Sie das Swing GridBagLayout verwenden legt der Visual Editor Standardvorgaben für Komponenten fest. Sie können diese Vorgaben unter Verwendung der Eigenschaftsansicht oder des Dialogs 'Layout anpassen' ändern.
Vorgaben wie z.B. Füllung, Anker, Wertigkeit X und Wertigkeit Y werden auf Grundlage des Komponententyps festgelegt, um die Komponente besser in einem GridBagLayout anzuzeigen. Wenn Sie z.B. ein javax.swing.JTextField übergeben, wird die Füllung auf 'HORIZONTAL' festgelegt (der Standardwert für ein JTextField ist 'NONE') und die Wertigkeit X wird mit 1 angegeben (der Standardwert für ein JTextField ist '0'). Andernfalls wäre das JTextField kaum sichtbar.
In dem folgenden Beispiel wurde der JScrollBar mit einem Füllungswert 'VERTICAL' und der Wertigkeit '1' für den Y-Wert übergeben.
Die generierte Vorgabe für eine neue Komponente erstellt GridBagConstraints unter Verwendung des Nullkonstruktors als Exemplar.
Wenn Sie von einem anderen Layout-Manager auf GridBagLayout umschalten, generiert der Visual Editor für Java Vorgaben für jede Komponente aufgrund ihrer vorhandenen Begrenzungen, und der Reineffekt ist, dass die Komponenten ihre Position nicht verändern. Statt dort durch ein absolutes Rechteck, z.B. einen Container mit einem auf Null gesetzten Layout, platziert zu werden, haben sie GridBagConstraints.
Der Vorteil der Verwendung von GridBagConstraints statt eines Nulllayouts ist, dass die Größe einer jeden Komponente in Übereinstimmung mit ihrer bevorzugten Größe festgelegt wird. Wenn sich also die Größe des übergeordneten Fensters ändert oder wenn sich die bevorzugte Größe zur Laufzeit aufgrund verschiedensprachiger Zeichenfolgen ändert, wird der Layout-Manager alle Komponenten größenmäßig ändern und neu positionieren und den zur Verfügung stehenden Raum bestmöglich nutzen.
Um die Vorgaben für Füllung, Anker und Inset einer Komponente im GridBagLayout anzugeben, gehen Sie wie folgt vor: