0

いくつかのボタンのレイアウトを設定しています。真ん中に2つ、最後に1つのボタンを配置しようとしています。真ん中に2本あるのですが、最後の1本は横にずれています。「戻る」ボタンを他のボタンの下に設定するにはどうすればよいですか。(私はこれを研究しました)。

public class Options extends JPanel
{
    private static final long serialVersionUID = 1L;
    JButton b1 = new JButton("Back");
    JButton b4 = new JButton("Textures");
    JButton b5 = new JButton("Settings");

public Options()
{
    setLayout(new GridBagLayout());
    GridBagConstraints c = new GridBagConstraints();
    c.anchor = GridBagConstraints.CENTER;
    c.weighty = 1;
    c.gridx = 0;
    c.gridy = 0;
    c.ipadx = 5;
    add(b5, c);
    c.ipadx = 1;
    c.gridy = 1;
    add(b4, c);
    c.weighty = 1;
    c.gridy = 2;
    c.anchor = GridBagConstraints.PAGE_END;
    add(b1, c);
 }
}

私のレイアウトエラー

編集:上記のコードを更新しました。オフセット エラーは修正されましたが、b5 は中央ではなく上部にあります (b4 は中央、b1 は下部にあります)。

4

2 に答える 2

2

これは、取得しようとしていると思われるレイアウトに十分近いはずです。

    setLayout(new GridBagLayout());
    GridBagConstraints c = new GridBagConstraints();

    JPanel layout = new JPanel(new GridLayout(0, 1));
    layout.add(new JButton("Settings"));
    layout.add(new JButton("Textures"));

    c.anchor = GridBagConstraints.CENTER;
    c.weighty = 1.0;
    c.gridy = 0;
    add(layout, c);

    c.gridy = 1;
    c.weighty = 0.1;
    c.anchor = GridBagConstraints.PAGE_END;
    add(new JButton("Back"), c);
于 2012-09-22T19:19:34.750 に答える
1

次のように設定できc.gridxます0

GridBagConstraints c = new GridBagConstraints();
c.weighty = 1.0;
c.gridx = 0;
c.anchor = GridBagConstraints.PAGE_END;
于 2012-09-22T16:27:22.570 に答える