내 코드에서 DefaultTreeCellRenderer
은 사용자 정의 아이콘을 사용자 정의하도록 사용자 정의합니다.트리 셀을 편집하는 동안 Java JTree 사용자 정의 아이콘이 기본 아이콘으로 다시 바뀝니다.
setCellRenderer(new DefaultTreeCellRenderer() {
private static final long serialVersionUID = -2839238218110688876L;
private ImageIcon icon = myIcon;
@Override
public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean isLeaf, int row, boolean focused) {
super.getTreeCellRendererComponent(tree, value, selected, expanded, isLeaf, row, hasFocus);
Component c = super.getTreeCellRendererComponent(tree, value, selected, expanded, isLeaf, row, focused);
setIcon(icon);
return c;
}
});
사용자가 노드 식별자를 편집 할 수 있도록 트리를 편집 가능하게 만들 때까지는 모두 잘 작동했습니다. 이제 노드를 편집하는 동안 아이콘이 다시 기본값으로 전환됩니다. 편집 트리 셀 렌더러가 내가 작성한 것과 같지 않은 것 같습니다. 누구든지이 문제를 해결하는 방법을 알고 있습니까?
무엇'TreeCellEditor' 사용중인
TreeCellEditor를 사용하고 있지 않습니다. – CodeJ
[JTree에서 JPanel의 구성 요소를 사용할 수있는 노드를 어떻게 만들 수 있습니까?] (http://stackoverflow.com/questions/31375773/how-do-you-make-components-of-jpanel-as-a -node-in-jtree-usable) –