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) –