Index: openide/src/org/openide/nodes/Node.java =================================================================== RCS file: /cvs/openide/src/org/openide/nodes/Node.java,v retrieving revision 1.71 diff -u -r1.71 Node.java --- openide/src/org/openide/nodes/Node.java 7 Apr 2003 11:55:26 -0000 1.71 +++ openide/src/org/openide/nodes/Node.java 17 Apr 2003 21:56:28 -0000 @@ -1086,12 +1086,23 @@ return true; } - /** Get a property editor for this property. + //Soft caching of property editor references to improve JTable + //property sheet performance + java.lang.ref.SoftReference edRef=null; + /** Get a property editor for this property. * The default implementation tries to use {@link java.beans.PropertyEditorManager}. * @return the property editor, or null if there is no editor */ public PropertyEditor getPropertyEditor () { if (type == null) return null; - return java.beans.PropertyEditorManager.findEditor(type); + PropertyEditor result=null; + if (edRef != null) { + result = (PropertyEditor) edRef.get(); + } + if (result == null) { + result = java.beans.PropertyEditorManager.findEditor(type); + edRef = new java.lang.ref.SoftReference (result); + } + return result; } /* Standard equals implementation for all property