Wie die align-Komponenten-center in der JPanel mit GridBagLayout?

Wenn ich versuche, richten Sie meine Komponente geht es entweder linken oder rechten Seite.

So, ich will nur die Lösung, um loszuwerden, dieses problem, und mir auch sagen, wie die Größe des panel 400 x 350 pixel.

Wie die align-Komponenten-center in der JPanel mit GridBagLayout?

Hier ist mein code....titleLabel und ResultLabel sollten ausgerichtet werden, in der Mitte

public TimeGui() {

    layout = new GridBagLayout();
    setSize(400, 350);  //**Its not working**
    setBackground(Color.LIGHT_GRAY);
    setBorder(BorderFactory.createLineBorder(Color.BLACK));
    setBorder(new TitledBorder(new EtchedBorder(), "Time Conversion") );

    setLayout(layout);
    layoutConstraints = new GridBagConstraints();       
    textField1 = new JTextField(10);
    textField2 = new JTextField(10);

    String[] names1 = {"Seconds", "Minutes", "Hours", "Days", "Weeks"};


    comboBox1 = new JComboBox<>(names1);
    comboBox2 = new JComboBox<>(names1);

    titleLabel = new JLabel("Time Conversion Unit", JLabel.CENTER);
    resultLabel = new JLabel("Result Label");
    equalLabel = new JLabel("=");

    convertButton = new JButton("Convert");


    layoutConstraints.fill = GridBagConstraints.HORIZONTAL;
    Insets inset = new Insets(10, 10, 10, 10);
    layoutConstraints.anchor = GridBagConstraints.CENTER;

    addComponent(titleLabel, 0, 0, 2, 2, inset ); //I tried (0,1,2,2) 



    addComponent(comboBox1, 3, 0, 2, 3, inset);

    addComponent(comboBox2, 3, 2, 2, 3, inset);

    addComponent(textField1, 6, 0, 1, 2, inset);

    addComponent(equalLabel, 6, 1, 1, 2, inset);

    addComponent(textField2, 6, 2, 1, 2, inset);

    addComponent(resultLabel, 8, 1, 2, 1, inset);

    addComponent(convertButton, 10, 0, 2, 2, inset);

}

private void addComponent(Component component, int row,
        int column, int width, int height, Insets inset1) {
    layoutConstraints.gridx = column;
    layoutConstraints.gridy = row;
    layoutConstraints.gridwidth = width;
    layoutConstraints.gridheight = height;
    layoutConstraints.insets = inset1;
    layout.setConstraints(component, layoutConstraints);
    add(component);
}
}
  • In der Abwesenheit des Bildes, wäre es klug, wenn atleast können Sie eine SSCCE, so dass man atleast führen Sie es ohne jede Art von Ergänzung. Laden Sie einfach Ihr Bild an jedem Ort, wie imgur, dropbox oder 4shared. Jeder mit höheren Berechtigungen hinzufügen, dass auf Ihre Frage
  • ok, Sag mir nur, wie die Größe des Fensters.
Schreibe einen Kommentar