1
在我的代码中,我自定义了一个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。 – CodeJ
[您如何将JPanel的组件作为JTree中的节点使用?](http://stackoverflow.com/questions/31375773/how-do-you-make-components-of-jpanel-as-a -nt-in-jtree-usable) –