Class XmlTreeCellRenderer.XmlTreeCellUI

All Implemented Interfaces:
PropertyChangeListener, EventListener
Enclosing class:
XmlTreeCellRenderer

private static class XmlTreeCellRenderer.XmlTreeCellUI extends BasicLabelUI
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.