• 追加された行はこの色です。
  • 削除された行はこの色です。
TITLE:OverlayLayoutの使用
#navi(../)
RIGHT:Posted by [[terai]] at 2008-01-14
RIGHT:Posted by [[aterai]] at 2008-01-14
*OverlayLayoutの使用 [#y05c0630]
OverlayLayoutを使用し、JButtonを重ねて配置します。

-&jnlp;
-&jar;
-&zip;

#screenshot
//#screenshot
#ref(http://lh6.ggpht.com/_9Z4BYR88imo/TQTQqzbG85I/AAAAAAAAAf8/GAYWzSVrHvg/s800/OverlayLayout.png)

**サンプルコード [#ece74623]
#code{{
JButton b1 = new JButton();
JButton b2 = new JButton();
b1.setLayout(new OverlayLayout(b1));
Insets i = b1.getBorder().getBorderInsets(b1);
b1.setBorder(BorderFactory.createEmptyBorder(i.top,i.left,i.bottom,4));
b1.setAction(new AbstractAction("OverlayLayoutButton") {
  public void actionPerformed(ActionEvent e) {
    java.awt.Toolkit.getDefaultToolkit().beep();
  }
});
b2.setAction(new AbstractAction("▼") {
  public void actionPerformed(ActionEvent e) {
    System.out.println("sub");
  }
});
Dimension dim = new Dimension(64, 24);
b2.setMaximumSize(dim);
b2.setPreferredSize(dim);
b2.setMinimumSize(dim);
b2.setAlignmentX(1.0f);
b2.setAlignmentY(1.0f);
b1.add(b2);
}}

**解説 [#z79707d9]
上記のサンプルでは、JButtonに OverlayLayout を使って、別のJButtonを重ねて右下に配置しています。

**参考リンク [#y9ab3aa1]
-[[JButtonの形を変更>Swing/RoundButton]]
-[http://java.sun.com/docs/books/tutorial/uiswing/layout/box.html#features Box Layout Features]

**コメント [#qfacad78]
- ボタンサイズの指定方法を変更しました。 -- [[terai]] &new{2008-01-17 (木) 20:39:53};
- スクリーンショットなどを更新。 -- [[terai]] &new{2008-10-29 (水) 18:51:52};
- ボタンサイズの指定方法を変更しました。 -- [[aterai]] &new{2008-01-17 (木) 20:39:53};
- スクリーンショットなどを更新。 -- [[aterai]] &new{2008-10-29 (水) 18:51:52};

#comment