TITLE:OverlayLayoutの使用

Posted by aterai at 2008-01-14

OverlayLayoutの使用

OverlayLayoutを使用し、JButtonを重ねて配置します。

  • &jnlp;
  • &jar;
  • &zip;
OverlayLayout.png

サンプルコード

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") {
  @Override public void actionPerformed(ActionEvent e) {
    java.awt.Toolkit.getDefaultToolkit().beep();
  }
});
b2.setAction(new AbstractAction("▼") {
  @Override 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);

解説

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

参考リンク

コメント

  • ボタンサイズの指定方法を変更しました。 -- aterai
  • スクリーンショットなどを更新。 -- aterai