1

このインターフェースに最も適したレイアウトはどれですか? 試してみましたが、ボタンを正しい位置に配置FlowLayoutできません。SUBMIT

4

3 に答える 3

2

私はmiglayoutをお勧めします、それは非常に使いやすく、それは私がそれに投げているものを常に処理します。

この場合、2つのパネルを作成します。最初のパネルには、miglayoutコンストラクターのパラメーターとして「wrap3」制約があり、2番目のパネルには「alignxcenter、alignycenter」制約が追加されたボタンが1つだけあります。

次に例を示します。

public class TestApplet extends JApplet{

@Override
public void init() {
    super.init();
    setSize(400, 300);
    setLayout(new MigLayout("fill, insets 0"));

    JPanel leftPanel = new JPanel(new MigLayout("wrap 3"));
    for (int i = 0; i < 9; i++) {
        leftPanel.add(new JButton(""+i));
    }
    add(leftPanel);

    JPanel rightPanel = new JPanel(new MigLayout());
    rightPanel.add(new JButton("submit"), "alignx center, aligny center");
    add(rightPanel);


}   
}

ここに画像の説明を入力してください

ボタンの番号を必要に応じて並べ替えるだけです。

于 2013-02-26T16:04:36.590 に答える
1
  • 2 つの列を持つ最初のグリッド レイアウト。
  • 最初の列に panal1 を追加し、2 番目の列に submit with を追加しBorderLayout.CENTERます。
  • その panal1 では、3x3 グリッド レイアウトを使用できます。
于 2013-02-26T15:55:03.450 に答える
0

私はこれを JFrame で試しましたが、アプレットでも同じことができます。

1 行 2 列のグリッドを作成します。
ページ軸を使用して 2 番目のパネルにボックス レイアウトを作成し、中央にボタンがある垂直方向の接着剤があることを確認します。3x3 のグリッドを作成し、ボタンを追加します。

コードサンプル:

    JFrame frame = new JFrame();

    frame.setLayout(new GridLayout(1, 2));
    JPanel leftPanel = new JPanel(new GridLayout(3, 3));
    for(int i=0;i<9;i++)

    {
        JButton button = new JButton();
        button.setText(i+"");
        leftPanel.add(button);
    }
    frame.add(leftPanel);
    JPanel rightPanel = new JPanel();
     BoxLayout layout = new BoxLayout(rightPanel, BoxLayout.PAGE_AXIS);
     rightPanel.setLayout(layout);

     JButton button = new JButton("Submit");
         button.setAlignmentX(
     Component.CENTER_ALIGNMENT);
     rightPanel.add(Box.createVerticalGlue()); //Ensure this order
     rightPanel.add(button);
     rightPanel.add(Box.createVerticalGlue());


    frame.add(rightPanel);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);
于 2013-02-26T16:32:26.270 に答える