JTree と TreeModel はすぐに使用できるツールチップを提供しないため、JTree のアイテム固有のツールチップを表示するにはどうすればよいと思いますか?
編集:(後で自分の質問に答えます。)
@Zarkonnen: getTooltipText のアイデアをありがとう。
DefaultTreeCellRenderer をオーバーライドする別の (おそらくもう少し良い) 方法を見つけ、それを共有することを考えました:
public class JTreeWithToolTips {
private static class OwnRenderer extends DefaultTreeCellRenderer {
@Override
public Component getTreeCellRendererComponent(JTree tree, Object value,
boolean sel, boolean expanded, boolean leaf, int row,
boolean hasFocus) {
setToolTipText("foobar" + row);
return super.getTreeCellRendererComponent(tree, value, sel,
expanded, leaf, row, hasFocus);
}
}
public static void main(String[] args) {
JTree tree = new JTree(new Object[] { "foo", "bar", "foobar" });
tree.setCellRenderer(new OwnRenderer());
ToolTipManager.sharedInstance().registerComponent(tree);
JFrame frame = new JFrame();
frame.getContentPane().add(tree);
frame.pack();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}