0

パネルの1つにJToolbarがあります。

要約コード:

//for the containing panel
panel.setLayout(new BorderLayout());


//adding the toolbar
panel.add(toolbar, BorderLayout.WEST);

ツールバーには、同じ幅にするためにJButton使用して追加する2つのがありますGridBagLayout

//ツールバーのコード

toolbar=new JToolbar();
toolbar.setLayout(new GridBagLayout());
btn1 = new JBUtton("update layout");
btn2 = new JButton("exit!");
GridBagContraints gbc = new GridBagConstraints();
gbc.gridx=0;
gbc.gridy=1;
gbc.fill = GridBagConstrainsts.HORIZONTAL;
toolbar.add(btn1,gbc);
gbc.gridy=1;
toolbar.add(btn1,gbc);

このコードは、同じ幅のボタンが付いた垂直ツールバーをレンダリングします。唯一の問題は、ツールバーの高さがボタンの高さよりも高いことです。したがって、このコードは、ツールバーの垂直方向の中央にボタンをレンダリングします。代わりに、すべての空のスペースがツールバーの最後に追加されるように、ボタンを上に配置する必要があります。

今:

 ----------
 |        |
 ----------
 |  btn   |
 ----------
 |  btn2  |
 ----------
 |        |
 ----------

欲しいもの

 ----------
 |   btn  |
 ----------
 |   btn2 |
 ----------
 |        |
 ----------
 |        |
 ----------
4

2 に答える 2

0

Box.createVerticalGlue()レイアウトを GridBagLayout に変更せずに、ツールバーにa を追加するだけでよいと思います。これにより、ボタンの後の残りのスペースが埋められ、ボタンが上に押し出されます。

于 2012-07-31T00:06:40.797 に答える