Swing/SpinnerButton のバックアップソース(No.3)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- バックアップ を表示
- Swing/SpinnerButton へ行く。
- 1 (2007-11-26 (月) 12:10:19)
- 2 (2011-01-05 (水) 19:36:07)
- 3 (2013-02-02 (土) 21:40:02)
- 4 (2014-11-01 (土) 00:46:09)
- 5 (2015-01-16 (金) 21:19:46)
- 6 (2016-05-27 (金) 15:57:05)
- 7 (2016-06-04 (土) 19:22:54)
- 8 (2017-09-14 (木) 12:07:50)
- 9 (2017-11-02 (木) 15:34:40)
- 10 (2019-03-05 (火) 18:52:27)
- 11 (2020-12-16 (水) 11:02:09)
- 12 (2022-08-20 (土) 22:15:25)
- 13 (2023-05-19 (金) 17:14:09)
- 14 (2023-10-10 (火) 10:50:14)
TITLE:JSpinnerのボタンにToolTipを付ける #navi(../) #tags() RIGHT:Posted by &author(aterai); at 2007-07-23 *JSpinnerのボタンにToolTipを付ける [#je13981e] JSpinnerの上下ボタンにToolTipを付けます。 -&jnlp; -&jar; -&zip; //#screenshot #ref(http://lh6.ggpht.com/_9Z4BYR88imo/TQTTmW4UoMI/AAAAAAAAAks/SXmtS71QSg0/s800/SpinnerButton.png) **サンプルコード [#z21fec9a] #code(link){{ private static class MySpinnerUI extends BasicSpinnerUI { @Override protected Component createNextButton() { JComponent nextButton = (JComponent)super.createNextButton(); nextButton.setToolTipText("SpinnerUI: next next"); return nextButton; } @Override protected Component createPreviousButton() { JComponent previousButton = (JComponent)super.createPreviousButton(); previousButton.setToolTipText("SpinnerUI: prev prev"); return previousButton; } } }} #code{{ 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); } } } }} **解説 [#y0c63bb1] -上 --BasicSpinnerUIを継承するSpinnerUIを作成し、createNextButton、createPreviousButtonメソッドをオーバーライドして、ToolTipTextを設定しています。 -中 --名前が"Spinner.nextButton"、"Spinner.previousButton"となっているコンポーネントを検索して、ToolTipTextを設定しています。 --Windows(XPスタイル)環境の場合、JSpinnerの各ボタンに名前が付けられていないため、うまく動作しません。 -下 --Windows環境の場合はWindowsSpinnerUIを継承して、それ以外の場合は、名前で検索して、ToolTipTextを設定しています。 //**参考リンク **コメント [#m2199b64] - メモ:[http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5036022 Bug ID: 5036022 JSpinner does not reflect new font on subsequent calls to setFont]、[http://d.hatena.ne.jp/kaiseh/20071120/1195560201 JSpinnerのフォント指定 - kaisehのブログ] -- [[aterai]] &new{2007-11-26 (月) 12:10:19}; #comment