Ich lese viel über dieses Problem hier ... Aber ich glaube nur nicht, wie man das löst. Alle Lösungen, die ich ausprobiert habe, funktionieren nicht.Ein weiterer GridBagLayout Alignment-Idiot
Aber fangen wir am Anfang an: Ich baue meine Schnittstelle mit Swing und versuche, modular zu sein. Also habe ich eine Klasse (Erweiterung JPanel) für mein linkes Hauptmenü. Das Menü besteht aus mehreren Schaltflächen in einem GridBagLayout.
Aber ich bin nicht in der Lage, diese Layyout auf den oberen Rand des Fensters (Panel) ausgerichtet zu bekommen. exampel: Label an der Spitze des Gremiums, Textfeld unten, Taste unter dem Textfeld usw.
bitte mein Code sehen:
public class LeftMenu extends JPanel {
public LeftMenu(){
GridBagLayout gbl_panel = new GridBagLayout();
gbl_panel.columnWidths = new int[] { 86, 0 };
gbl_panel.rowHeights = new int[] {32, 32, 32, 32, 32, 32, 32, 32, 32 };
gbl_panel.columnWeights = new double[] { 0.0, Double.MIN_VALUE };
gbl_panel.rowWeights = new double[] { 0.0, 0.0, 0.0, 0.0, 0.0 };
setLayout(gbl_panel);
JLabel lblEnterTrunkId = new JLabel("Enter Trunk ID");
GridBagConstraints gbc_lblEnterTrunkId = new GridBagConstraints();
gbc_lblEnterTrunkId.fill = GridBagConstraints.HORIZONTAL;
gbc_lblEnterTrunkId.insets = new Insets(0, 0, 5, 0);
gbc_lblEnterTrunkId.gridx = 0;
gbc_lblEnterTrunkId.gridy = 0;
gbc_lblEnterTrunkId.anchor = GridBagConstraints.NORTH;
add(lblEnterTrunkId, gbc_lblEnterTrunkId);
}
}
Es ist ein Textfeld und einige Tasten folgende hinter der Etikette. Aber ich nehme an, diese sind nicht relevant ... Wenn sie ... sie sind meistens wie das Etikett (nur, dass sie nicht Etiketten sind ... Ich glaube, Sie bekommen mich)
Alle Anleitungen, die ich lese , zeigen alle auf den Anker der GridBagConstraint. Es ist da .... aber nicht funktioniert. Es ist wunderbar in der Mitte des Panels ausgerichtet.
Wenn es nicht egal: das Gremium ist als LeftComponent eines SplitPane verwendet:
public LeftMenu leftpanel = new LeftMenu();
splitPaneTrunks.setLeftComponent(leftpanel);
Wir freuen uns auf Ihre Hilfe.
Hier ist ein Bild von meinem Seitenmenü ... horizontal zentriert. wie es nicht sein sollte.
1) Für eine bessere Hilfe früher, Posten [MCVE] oder [Kurz, Self Contained, Korrekt Beispiel] (http://www.sscce.org/). 2) Bereitstellung von ASCII-Grafiken oder einer einfachen Zeichnung des * beabsichtigten * Layouts der GUI bei minimaler Größe und wenn sie in der Größe veränderbar ist, mit mehr Breite und Höhe. –
zeige HorizontalLayout in Swingx-Bibliothek –