Auch wenn ich etwas über gewichtige las ich keine Leerzeichen Codefragment unten entfernen konnte:Schaukel GridBagLayout nicht (entfernen) verteilen leere Räume
JPanel panel = new JPanel();
scrollPane.setViewportView(panel);
GridBagLayout gbl_panel = new GridBagLayout();
GridBagConstraints gc = new GridBagConstraints();
gbl_panel.columnWidths = new int[]{0, 0, 0, 0, 0};
gbl_panel.rowHeights = new int[]{0, 0};
gbl_panel.columnWeights = new double[]{0.0, 0.0, 0.0, 0.0, Double.MIN_VALUE};
gbl_panel.rowWeights = new double[]{0.0, Double.MIN_VALUE};
panel.setLayout(gbl_panel);
for(int i = 0;i<3;i++){
gc.gridy = i;
panel.add(new JButton("hi"),gc);
}
Es verteilt diese 3 Tasten mit gleichen Abständen (oben, Mitte, unten) Wenn die Gesamtgröße der Komponenten ist größer als Panel-Größe (z. B. 10 Schaltfläche hinzufügen) gibt es kein Problem.Aber wenn die Gesamtgröße der Komponenten klein größer als die Größe des Panels verteilt es alle Räume. Ich möchte meine Bestandteile Linie für Linie einstellen (von oben nach unten ohne irgendwelche Räume zwischen Bestandteilen) Entschuldigung für Unannehmlichkeit danke!
Ihr 'rowWeights' Array hat zwei Elemente. Das zweite Element in diesem Array ist eine von Null verschiedene Gewichtung. Es ist daher keine Überraschung, dass der zweiten Zeile in Ihrem Layout zusätzlicher Speicherplatz zugewiesen wird. – VGR
Wie wird der zugewiesene zusätzliche Speicherplatz entfernt? –
Geben Sie für jede Zeile ein Zeilengewicht an. Jede Zeile mit einem Gewicht von Null wird keinen zusätzlichen Platz zugewiesen. – VGR