TITLE:JToggleButtonからポップアップメニューを開く

JToggleButtonからポップアップメニューを開く

Posted by terai at 2006-07-10

概要

クリックするとポップアップメニューを表示するJToggleButtonを作成し、これをツールバーに追加します。

  • &jnlp;
  • &jar;
  • &zip;

#screenshot

サンプルコード

class MenuToggleButton extends JToggleButton {
  private final Icon i = new MenuArrowIcon();
  public MenuToggleButton(final AbstractAction aa) {
    super(aa);
    this.setFocusPainted(false);
    this.setBorder(BorderFactory.createEmptyBorder(4, 4, 4, 4+i.getIconWidth()));
  }
  public void paintComponent(Graphics g) {
    super.paintComponent(g);
    Dimension dim = getSize();
    Insets ins = getInsets();
    int x = dim.width-ins.right;
    int y = ins.top+(dim.height-ins.top-ins.bottom-i.getIconHeight())/2;
    i.paintIcon(this, g, x, y);
  }
}

解説

上記のサンプルでは、JToggleButtonの右側に余白を設定して、そこに下向きの矢印を上書きしています。

参考リンク

コメント