Swing/SpinnerButton のバックアップ(No.2)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - 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を付ける
Posted by terai at 2007-07-23
JSpinnerのボタンにToolTipを付ける
JSpinnerの上下ボタンにToolTipを付けます。
- &jnlp;
- &jar;
- &zip;
サンプルコード
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);
}
}
}
解説
- 上
- BasicSpinnerUIを継承するSpinnerUIを作成し、createNextButton、createPreviousButtonメソッドをオーバーライドして、ToolTipTextを設定しています。
- 中
- 名前が"Spinner.nextButton"、"Spinner.previousButton"となっているコンポーネントを検索して、ToolTipTextを設定しています。
- Windows(XPスタイル)環境の場合、JSpinnerの各ボタンに名前が付けられていないため、うまく動作しません。
- 下
- Windows環境の場合はWindowsSpinnerUIを継承して、それ以外の場合は、名前で検索して、ToolTipTextを設定しています。