이후 JTree & TreeModel은 도구 설명을 곧바로 제공하지 않습니다. JTree에 대한 항목 별 툴팁을 얻는 가장 좋은 방법은 무엇이라고 생각합니까?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);
}
}
당신의 대답은 대답에 있어야 사람들이 투표 할 수 있도록, 상기
value
가TreeCellRenderer
에서Tooltipable
의 intance 경우 우리가 확인하는 방법알 수 있습니다. –
DefaultTreeCellRenderer # getTreeCellRendererComponent가 많이 호출되어 너무 무거 우면 항목이 예상대로 작동하지 않을 수 있습니다. 툴팁이 나타나야하지만 나타나지는 마세요. JTree # getToolTipText (MouseEvent e)를 재정의하는 것은 필요한 경우에만 호출되므로 더 나은 해결책입니다! – NomeN
내가 이것을 시도했을 때 툴팁이 나타나지 않았다. Zarkonnen의 대답은 성공했습니다. – Amber