• 追加された行はこの色です。
  • 削除された行はこの色です。
TITLE:JSpinnerのボタンにToolTipを付ける
#navi(../)
*JSpinnerのボタンにToolTipを付ける [#je13981e]
>編集者:[[Terai Atsuhiro>terai]]~
作成日:2007-07-23~
更新日:&lastmod;

#contents

**概要 [#kecc7469]
JSpinnerの上下ボタンにToolTipを付けます。

#screenshot

**サンプルコード [#z21fec9a]
#code{{
private static class MySpinnerUI extends BasicSpinnerUI {
  public MySpinnerUI() {
    super();
  }
  protected Component createNextButton() {
    JComponent nextButton = (JComponent)super.createNextButton();
    nextButton.setToolTipText("SpinnerUI: next next");
    return nextButton;
  }
  protected Component createPreviousButton() {
    JComponent previousButton = (JComponent)super.createPreviousButton();
    previousButton.setToolTipText("SpinnerUI: prev prev");
    return previousButton;
  }
}

private static void searchSpinnerButtons(Container comp) {
  for(Component c: comp.getComponents()) {
    if("Spinner.nextButton".equals(c.getName())) {
      ((JButton)c).setToolTipText("getName: next next");
    }else if("Spinner.previousButton".equals(c.getName())) {
      ((JButton)c).setToolTipText("getName: prev prev");
    }else if(c instanceof Container) {
      searchSpinnerButtons((Container)c);
    }
  }
}
}}
-&jnlp;
-&jar;
-&zip;

**解説 [#y0c63bb1]
-上
--BasicSpinnerUIを継承するSpinnerUIを作成し、createNextButton、createPreviousButtonメソッドをオーバーライドして、ToolTipTextを設定しています。
-中
--名前が"Spinner.nextButton"、"Spinner.previousButton"となっているコンポーネントを検索して、ToolTipTextを設定しています。
--Windows(XPスタイル)環境の場合、JSpinnerの各ボタンに名前が付けられていないため、うまく動作しません。
-下
--Windows環境の場合はWindowsSpinnerUIを継承して、それ以外の場合は、名前で検索して、ToolTipTextを設定しています。

//**参考リンク
**コメント [#m2199b64]
#comment