Class XmlTreeCellRenderer.XmlTreeCellUI
java.lang.Object
javax.swing.plaf.ComponentUI
javax.swing.plaf.LabelUI
javax.swing.plaf.basic.BasicLabelUI
org.fife.rsta.ac.xml.tree.XmlTreeCellRenderer.XmlTreeCellUI
- All Implemented Interfaces:
PropertyChangeListener, EventListener
- Enclosing class:
XmlTreeCellRenderer
Custom UI for our renderer. This is basically a performance hack to
avoid using HTML for our rendering. Swing's HTML rendering engine is
very slow, making tree views many thousands of nodes large using HTML
very slow for expand operations (our expandInitialNodes() method). This
is caused by calls to get the preferred size of each HTML view. A
"plain text" renderer that can paint the different colors itself is
much faster (~ 4x faster), but still doesn't eliminate the issue for
huge trees.
- Version:
- 1.0
-
Field Summary
Fields inherited from class BasicLabelUI
labelUI -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidinstallDefaults(JLabel label) protected voidpaintEnabledText(JLabel l, Graphics g, String s, int textX, int textY) protected voiduninstallDefaults(JLabel label) Methods inherited from class BasicLabelUI
createUI, getBaseline, getBaselineResizeBehavior, getMaximumSize, getMinimumSize, getPreferredSize, installComponents, installKeyboardActions, installListeners, installUI, layoutCL, paint, paintDisabledText, propertyChange, uninstallComponents, uninstallKeyboardActions, uninstallListeners, uninstallUIMethods inherited from class ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount, update
-
Constructor Details
-
XmlTreeCellUI
private XmlTreeCellUI()
-
-
Method Details
-
installDefaults
- Overrides:
installDefaultsin classBasicLabelUI
-
paintEnabledText
- Overrides:
paintEnabledTextin classBasicLabelUI
-
uninstallDefaults
- Overrides:
uninstallDefaultsin classBasicLabelUI
-