私のコードでは、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) –