|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjavax.swing.plaf.ComponentUI
org.annotation.agschema.graphics.vtree.ui.VTreeUI
org.annotation.agschema.graphics.vtree.ui.BoundedSubtreeUI
This UI draws each subtree in its own rectangle. The size of the rectangle is proportional to the number of leaves in the subtree, so the leaves appear evenly spaced. This implementation is optimized for speed, and uses memory proportional to the size of the tree being drawn.
TODO - Make a memory efficient counterpart to this.
| Nested Class Summary | |
class |
BoundedSubtreeUI.BoundsTreeNode
|
class |
BoundedSubtreeUI.NodeBoundsInfo
|
class |
BoundedSubtreeUI.PaintingInfo
|
class |
BoundedSubtreeUI.PaintingInfoPool
|
| Constructor Summary | |
BoundedSubtreeUI()
Creates a new instance of BoundedSubtreeUI |
|
| Method Summary | |
void |
childAdded(javax.swing.tree.MutableTreeNode parent,
int index)
|
void |
childRemoved(javax.swing.tree.MutableTreeNode parent,
javax.swing.tree.MutableTreeNode child,
int oldChildIndex)
|
static javax.swing.plaf.ComponentUI |
createUI(javax.swing.JComponent c)
|
java.awt.Dimension |
getMaximumSize(javax.swing.JComponent c)
|
java.awt.Dimension |
getMinimumSize(javax.swing.JComponent c)
|
javax.swing.tree.TreeNode |
getNode(int x,
int y)
|
java.awt.Rectangle |
getNodeLocation(javax.swing.tree.TreeNode node)
|
java.awt.Dimension |
getPreferredSize(javax.swing.JComponent c)
|
java.awt.Rectangle |
getSubtreeLocation(javax.swing.tree.TreeNode node)
|
void |
installUI(javax.swing.JComponent c)
|
void |
nodeAdded(VTreeSelectionModel model,
javax.swing.tree.TreeNode node)
|
void |
nodeCollapsed(VTreeExpansionState state,
javax.swing.tree.TreeNode node)
Notification that a node has collapsed, and from the perspective of viewing, it is now a leaf. |
void |
nodeExpanded(VTreeExpansionState state,
javax.swing.tree.TreeNode node)
Notification that a node has expanded, and from the perspective of viewing, all its children will be displayed. |
void |
nodeObjectChanged(javax.swing.tree.MutableTreeNode node,
java.lang.Object oldUserObject)
|
void |
nodeRemoved(VTreeSelectionModel model,
javax.swing.tree.TreeNode node)
|
void |
paint(java.awt.Graphics g,
javax.swing.JComponent component)
|
void |
propertyChange(java.beans.PropertyChangeEvent evt)
|
void |
rootChanged(javax.swing.tree.TreeNode newRoot,
javax.swing.tree.TreeNode oldRoot)
|
void |
selectionCleared(VTreeSelectionModel model)
|
void |
selectionInterpretationChanged(VTreeSelectionModel model,
int oldInterpretation)
|
void |
selectionModeChanged(VTreeSelectionModel model,
int oldMode)
|
void |
subtreeDamaged(javax.swing.tree.MutableTreeNode subtreeRoot)
|
void |
uninstallUI(javax.swing.JComponent c)
|
| Methods inherited from class javax.swing.plaf.ComponentUI |
contains, getAccessibleChild, getAccessibleChildrenCount, update |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public BoundedSubtreeUI()
| Method Detail |
public static javax.swing.plaf.ComponentUI createUI(javax.swing.JComponent c)
public java.awt.Rectangle getNodeLocation(javax.swing.tree.TreeNode node)
getNodeLocation in class VTreeUIpublic java.awt.Rectangle getSubtreeLocation(javax.swing.tree.TreeNode node)
public javax.swing.tree.TreeNode getNode(int x,
int y)
getNode in class VTreeUI
public void paint(java.awt.Graphics g,
javax.swing.JComponent component)
public java.awt.Dimension getPreferredSize(javax.swing.JComponent c)
public java.awt.Dimension getMinimumSize(javax.swing.JComponent c)
public java.awt.Dimension getMaximumSize(javax.swing.JComponent c)
public void installUI(javax.swing.JComponent c)
public void uninstallUI(javax.swing.JComponent c)
public void propertyChange(java.beans.PropertyChangeEvent evt)
propertyChange in interface java.beans.PropertyChangeListener
public void childAdded(javax.swing.tree.MutableTreeNode parent,
int index)
childAdded in interface TreeMutationListener
public void childRemoved(javax.swing.tree.MutableTreeNode parent,
javax.swing.tree.MutableTreeNode child,
int oldChildIndex)
childRemoved in interface TreeMutationListenerpublic void subtreeDamaged(javax.swing.tree.MutableTreeNode subtreeRoot)
subtreeDamaged in interface TreeMutationListener
public void nodeObjectChanged(javax.swing.tree.MutableTreeNode node,
java.lang.Object oldUserObject)
nodeObjectChanged in interface TreeMutationListener
public void nodeCollapsed(VTreeExpansionState state,
javax.swing.tree.TreeNode node)
VTreeExpansionListener
nodeCollapsed in interface VTreeExpansionListenerstate - the expansion/collapse state of various nodes in the
tree.node - the node which has been collapsed
public void nodeExpanded(VTreeExpansionState state,
javax.swing.tree.TreeNode node)
VTreeExpansionListener
nodeExpanded in interface VTreeExpansionListenerstate - the expansion/collapse state of various nodes in the
tree.node - the node which has been expanded.
public void nodeAdded(VTreeSelectionModel model,
javax.swing.tree.TreeNode node)
nodeAdded in interface VTreeSelectionListener
public void nodeRemoved(VTreeSelectionModel model,
javax.swing.tree.TreeNode node)
nodeRemoved in interface VTreeSelectionListenerpublic void selectionCleared(VTreeSelectionModel model)
selectionCleared in interface VTreeSelectionListener
public void selectionInterpretationChanged(VTreeSelectionModel model,
int oldInterpretation)
selectionInterpretationChanged in interface VTreeSelectionListener
public void selectionModeChanged(VTreeSelectionModel model,
int oldMode)
selectionModeChanged in interface VTreeSelectionListener
public void rootChanged(javax.swing.tree.TreeNode newRoot,
javax.swing.tree.TreeNode oldRoot)
rootChanged in interface TreeMutationListener
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||