Swing/TreeToolTips のバックアップ差分(No.5)
- バックアップ一覧
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- バックアップ を表示
- Swing/TreeToolTips へ行く。
- 1 (2007-06-05 (火) 19:46:36)
- 2 (2012-05-16 (水) 12:50:22)
- 3 (2013-02-05 (火) 17:23:41)
- 4 (2014-06-04 (水) 21:50:33)
- 5 (2014-10-29 (水) 01:37:56)
- 6 (2014-11-19 (水) 02:04:59)
- 7 (2015-12-27 (日) 23:06:38)
- 8 (2016-08-18 (木) 12:41:37)
- 9 (2017-10-07 (土) 18:01:10)
- 10 (2019-04-17 (水) 18:58:34)
- 11 (2021-01-27 (水) 21:19:37)
- 12 (2024-01-03 (水) 02:09:44)
- 13 (2024-02-15 (木) 20:18:57)
- 追加された行はこの色です。
- 削除された行はこの色です。
TITLE:JTreeのToolTipsを表示 #navi(../) #tags(JTree, JToolTip, ToolTipManager, TreeCellRenderer) RIGHT:Posted by &author(aterai); at 2007-06-04 * JTreeのToolTipsを表示 [#nf00970d] --- title: JTreeのToolTipsを表示 tags: [JTree, JToolTip, ToolTipManager, TreeCellRenderer] author: aterai pubdate: 2007-06-04 description: JTreeのノードのToolTipsを表示します。 --- * 概要 [#nf00970d] `JTree`のノードの`ToolTips`を表示します。 #download #ref(https://lh3.googleusercontent.com/_9Z4BYR88imo/TQTWQe1RL2I/AAAAAAAAAo8/6HFqbUb3UZ8/s800/TreeToolTips.png) #download(https://lh3.googleusercontent.com/_9Z4BYR88imo/TQTWQe1RL2I/AAAAAAAAAo8/6HFqbUb3UZ8/s800/TreeToolTips.png) ** サンプルコード [#nff3084c] * サンプルコード [#nff3084c] #code(link){{ //tree = new JTree(); tree = new JTree() { @Override public String getToolTipText(MouseEvent e) { Object o = null; TreePath path = getPathForLocation(e.getX(), e.getY()); if(path!=null) { o = path.getLastPathComponent(); } return (o==null)?null:o.toString(); } }; //tree.setCellRenderer(new MyTreeCellRenderer(tree.getCellRenderer())); ToolTipManager.sharedInstance().registerComponent(tree); }} ** 解説 [#b86117ab] * 解説 [#b86117ab] 上記のサンプルでは、`JTree#getToolTipText(MouseEvent)`をオーバーライドして`JToolTip`を表示しています。以下のようなセルレンダラーを使用する方法もあります。 #code{{ class MyTreeCellRenderer implements TreeCellRenderer { private final TreeCellRenderer renderer; public MyTreeCellRenderer(TreeCellRenderer renderer) { this.renderer = renderer; } @Override public Component getTreeCellRendererComponent( JTree tree, Object value, boolean isSelected, boolean expanded, boolean leaf, int row, boolean hasFocus) { JComponent c = (JComponent)renderer.getTreeCellRendererComponent( tree, value, isSelected, expanded, leaf, row, hasFocus); c.setToolTipText((value==null)?null:value.toString()); return c; } } }} どちらの方法を使う場合でも、`JTree`オフジェクトを`ToolTipManager`に登録する(もしくは、`JTree#setToolTipText`メソッドで`null`以外を指定しておく)必要があります。 どちらの方法を使う場合でも、`JTree`オブジェクトを`ToolTipManager`に登録する(もしくは、`JTree#setToolTipText`メソッドで`null`以外を指定しておく)必要があります。 #code{{ ToolTipManager.sharedInstance().registerComponent(tree); //tree.setToolTipText("dummy"); }} //**参考リンク ** コメント [#g65ced14] //* 参考リンク * コメント [#g65ced14] #comment #comment