desde JTree & TreeModel no proporciona información sobre herramientas nada más sacarlo de la caja, ¿cuál crees que sería la mejor forma de tener tooltips para JTree?¿La mejor manera de implementar tooltips para JTree?
Editar: (. Respondiendo a mi propia pregunta después)
@Zarkonnen: Gracias por la idea getTooltipText.
descubrí otra forma (quizá todavía un poco más bonito) con anulando DefaultTreeCellRenderer y pensado para compartirlo:
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);
}
}
Su respuesta debe estar en una respuesta, por lo que la gente puede votar en ella. –
DefaultTreeCellRenderer # getTreeCellRendererComponent se llama mucho y hacer esto demasiado pesado puede hacer que las cosas no funcionen como se esperaba. Al igual que la información sobre herramientas que debe aparecer, pero no. Anulación de JTree # getToolTipText (MouseEvent e) solo se llama cuando sea necesario y, como tal, ¡es una solución mucho mejor! – NomeN
Cuando probé esto, la información sobre herramientas no apareció. Sin embargo, la respuesta de Zarkonnen funcionó. – Amber