0

16 個のボタンを 4x4 グリッドとして表示したいと考えています。各ボタンは同じサイズで、間隔も同じにする必要があります。

ギャップサイズを設定できましたが、ボタンのサイズを小さくすることはできません。私は基本的にこれをグループレイアウトに使用しました...

layout.setHorizontalGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(LEADING)
                    .addComponent(button1)
                    .addComponent(button5)
                    .addComponent(button9)
                    .addComponent(button13))
               .addGroup(layout.createParallelGroup(LEADING)
                    .addComponent(button2)
                    .addComponent(button6)
                    .addComponent(button10)
                    .addComponent(button14))
               .addGroup(layout.createParallelGroup(LEADING)
                    .addComponent(button3)
                    .addComponent(button7)
                    .addComponent(button11)
                    .addComponent(button15))
               .addGroup(layout.createParallelGroup(LEADING)
                    .addComponent(button4)
                    .addComponent(button8)
                    .addComponent(button12)
                    .addComponent(button16))
            );

            layout.setVerticalGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(BASELINE)
                    .addComponent(button1)
                    .addComponent(button2)
                    .addComponent(button3)
                    .addComponent(button4))
               .addGroup(layout.createParallelGroup(BASELINE)
                    .addComponent(button5)
                    .addComponent(button6)
                    .addComponent(button7)
                    .addComponent(button8))
               .addGroup(layout.createParallelGroup(BASELINE)
                    .addComponent(button9)
                    .addComponent(button10)
                    .addComponent(button11)
                    .addComponent(button12))
               .addGroup(layout.createParallelGroup(BASELINE)
                    .addComponent(button13)
                    .addComponent(button14)
                    .addComponent(button15)
                    .addComponent(button16))

誰かがより良いアプローチで私を助けてくれませんか。

4

2 に答える 2

0

GridLayout() を使用することもできます。これにより、すべてのコンポーネントがグリッドに配置され、行と列はパラメーターによって定義されます。行を使用して作成します

GridLayout g = new GridLayout(rows, columns)

コードが次のようになるように、AWT をインポートする必要があります。

GridLayout g = new GridLayout(4,4);
//Add it to your JPanel
myJpanel.setLayout(g);
//then
myJpanel.add(button1);
//the rest of your code
于 2012-07-20T06:43:25.033 に答える
-1

GroupLayout の各コンポーネントのサイズは、3 つの値によって制限されます。最小サイズ、推奨サイズ、最大サイズ

試す:

button.setPreferredSize(new Dimension(50, 10));
于 2012-05-29T21:10:41.847 に答える