com.guiseframework.component
Class TreeControl

java.lang.Object
  extended by com.globalmentor.beans.BoundPropertyObject
      extended by com.guiseframework.event.GuiseBoundPropertyObject
          extended by com.guiseframework.model.ui.AbstractPresentationModel
              extended by com.guiseframework.component.AbstractComponent
                  extended by com.guiseframework.component.AbstractCompositeComponent
                      extended by com.guiseframework.component.AbstractMultipleCompositeComponent
                          extended by com.guiseframework.component.AbstractCompositeStateComponent<T,S>
                              extended by com.guiseframework.component.AbstractCompositeStateControl<TreeNodeModel<?>,TreeControl.TreeNodeComponentState>
                                  extended by com.guiseframework.component.TreeControl
All Implemented Interfaces:
com.globalmentor.beans.PropertyBindable, com.globalmentor.beans.PropertyConstrainable, Component, CompositeComponent, Control, InputFocusableComponent, ActionListenable, ActionModel, Displayable, Enableable, InfoModel, LabelModel, Model, TreeModel, PresentationModel, DepictedObject

public class TreeControl
extends AbstractCompositeStateControl<TreeNodeModel<?>,TreeControl.TreeNodeComponentState>
implements TreeModel

A tree control. Property change events and action events on one tree node will be repeated to this object's listeners, with the tree node initiating the event accessible via TargetedEvent.getTarget().

Author:
Garret Wilson

Nested Class Summary
static class TreeControl.AbstractTreeNodeRepresentationStrategy<V>
          An abstract tree node representation strategy.
static class TreeControl.DefaultValueRepresentationStrategy<V>
          A default tree node representation strategy.
static class TreeControl.InfoModelTreeNodeRepresentationStrategy
          A tree node representation strategy for a label model, generating a label component.
static class TreeControl.TextModelTreeNodeRepresentationStrategy
          A tree node representation strategy for a TextModel, generating a TextBox component.
protected static class TreeControl.TreeNodeComponentState
          An encapsulation of a component for a tree node along with other metadata, such as whether the component was editable when created.
static interface TreeControl.TreeNodeRepresentationStrategy<V>
          A strategy for generating components to represent tree node models.
protected static class TreeControl.TreeNodeTransferable<V>
          The transferable object for a tree node.
 
Nested classes/interfaces inherited from class com.guiseframework.component.AbstractCompositeStateComponent
AbstractCompositeStateComponent.ComponentState
 
Nested classes/interfaces inherited from class com.guiseframework.component.AbstractComponent
AbstractComponent.AbstractFlyoverFrameStrategy<S extends Component>, AbstractComponent.AbstractFlyoverStrategy<S extends Component>, AbstractComponent.DefaultFlyoverStrategy<S extends Component>
 
Nested classes/interfaces inherited from interface com.guiseframework.component.Control
Control.Status
 
Nested classes/interfaces inherited from interface com.guiseframework.component.Component
Component.FlyoverStrategy<S extends Component>
 
Field Summary
static java.lang.String ROOT_NODE_DISPLAYED_PROPERTY
          The bound property of whether the root node is displayed.
static java.lang.String TREE_NODE_DRAG_ENABLED_PROPERTY
          The bound property of whether the tree node components have dragging enabled.
 
Fields inherited from class com.globalmentor.beans.BoundPropertyObject
NO_PROPERTY_CHANGE_LISTENERS, NO_VETOABLE_CHANGE_LISTENERS
 
Fields inherited from interface com.guiseframework.model.TreeModel
ROOT_NODE_PROPERTY
 
Fields inherited from interface com.guiseframework.model.Model
PLAIN_TEXT_CONTENT_TYPE, XHTML_CONTENT_TYPE, XHTML_FRAGMENT_CONTENT_TYPE
 
Fields inherited from interface com.guiseframework.component.Control
STATUS_PROPERTY
 
Fields inherited from interface com.guiseframework.component.Component
BOOKMARK_ENABLED_PROPERTY, CONSTRAINTS_PROPERTY, DRAG_ENABLED_PROPERTY, DROP_ENABLED_PROPERTY, FLYOVER_ENABLED_PROPERTY, FLYOVER_STRATEGY_PROPERTY, INPUT_STRATEGY_PROPERTY, NAME_PROPERTY, NOTIFICATION_PROPERTY, ORIENTATION_PROPERTY, THEME_APPLIED_PROPERTY, VALID_PROPERTY
 
Fields inherited from interface com.guiseframework.model.ui.PresentationModel
BACKGROUND_COLOR_PROPERTY, BORDER_LINE_FAR_COLOR_PROPERTY, BORDER_LINE_FAR_EXTENT_PROPERTY, BORDER_LINE_FAR_STYLE_PROPERTY, BORDER_LINE_NEAR_COLOR_PROPERTY, BORDER_LINE_NEAR_EXTENT_PROPERTY, BORDER_LINE_NEAR_STYLE_PROPERTY, BORDER_PAGE_FAR_COLOR_PROPERTY, BORDER_PAGE_FAR_EXTENT_PROPERTY, BORDER_PAGE_FAR_STYLE_PROPERTY, BORDER_PAGE_NEAR_COLOR_PROPERTY, BORDER_PAGE_NEAR_EXTENT_PROPERTY, BORDER_PAGE_NEAR_STYLE_PROPERTY, CORNER_LINE_FAR_PAGE_FAR_ARC_SIZE_PROPERTY, CORNER_LINE_FAR_PAGE_NEAR_ARC_SIZE_PROPERTY, CORNER_LINE_NEAR_PAGE_FAR_ARC_SIZE_PROPERTY, CORNER_LINE_NEAR_PAGE_NEAR_ARC_SIZE_PROPERTY, CURSOR_PROPERTY, FONT_FAMILIES_PROPERTY, FONT_SIZE_PROPERTY, FONT_STYLE_PROPERTY, FONT_WEIGHT_BOLD, FONT_WEIGHT_NORMAL, FONT_WEIGHT_PROPERTY, LABEL_FONT_FAMILIES_PROPERTY, LABEL_FONT_SIZE_PROPERTY, LABEL_FONT_STYLE_PROPERTY, LABEL_FONT_WEIGHT_PROPERTY, LABEL_TEXT_COLOR_PROPERTY, LINE_EXTENT_PROPERTY, MARGIN_LINE_FAR_EXTENT_PROPERTY, MARGIN_LINE_NEAR_EXTENT_PROPERTY, MARGIN_PAGE_FAR_EXTENT_PROPERTY, MARGIN_PAGE_NEAR_EXTENT_PROPERTY, OPACITY_PROPERTY, PADDING_LINE_FAR_EXTENT_PROPERTY, PADDING_LINE_NEAR_EXTENT_PROPERTY, PADDING_PAGE_FAR_EXTENT_PROPERTY, PADDING_PAGE_NEAR_EXTENT_PROPERTY, PAGE_EXTENT_PROPERTY, ROUNDED_CORNER_ARC_SIZE, STYLE_ID_PROPERTY, TEXT_COLOR_PROPERTY, TOOLTIP_ENABLED_PROPERTY, VISIBLE_PROPERTY
 
Fields inherited from interface com.guiseframework.model.Displayable
DISPLAYED_PROPERTY
 
Fields inherited from interface com.guiseframework.model.InfoModel
DESCRIPTION_CONTENT_TYPE_PROPERTY, DESCRIPTION_PROPERTY, INFO_CONTENT_TYPE_PROPERTY, INFO_PROPERTY
 
Fields inherited from interface com.guiseframework.model.LabelModel
GLYPH_URI_PROPERTY, LABEL_CONTENT_TYPE_PROPERTY, LABEL_PROPERTY
 
Fields inherited from interface com.guiseframework.model.Enableable
ENABLED_PROPERTY
 
Constructor Summary
TreeControl()
          Default constructor with a default tree model.
TreeControl(TreeModel treeModel)
          Tree model constructor.
 
Method Summary
 void addActionListener(ActionListener actionListener)
          Adds an action listener.
protected  TreeControl.TreeNodeComponentState createComponentState(TreeNodeModel<?> treeNode)
          Creates a component state to represent the given object.
protected  void fireActionPerformed(ActionEvent actionEvent)
          Fires a given action event to all registered action listeners.
protected  void fireActionPerformed(int force, int option)
          Fires an action event to all registered action listeners.
 java.lang.Iterable<ActionListener> getActionListeners()
           
 Component getComponent(TreeNodeModel<?> treeNode)
          Retrieves the component for the given object.
 TreeNodeModel<?> getRootNode()
           
protected  TreeModel getTreeModel()
           
<V> TreeControl.TreeNodeRepresentationStrategy<? super V>
getTreeNodeRepresentationStrategy(java.lang.Class<V> valueClass)
          Returns the given tree node representation strategy assigned to produce representation components for the given value class.
 boolean isRootNodeDisplayed()
           
 boolean isTreeNodeDragEnabled()
           
 void performAction()
          Performs the action with default force and default option.
 void performAction(int force, int option)
          Performs the action with the given force and option.
 void removeActionListener(ActionListener actionListener)
          Removes an action listener.
 void setAllExpanded(boolean newAllExpanded)
          Sets whether all tree nodes are expanded.
 void setRootNode(TreeNodeModel<?> newRootNode)
          Sets the root node of the tree model.
 void setRootNodeDisplayed(boolean newRootNodeDisplayed)
          Sets whether the root node is displayed.
 void setTreeNodeDragEnabled(boolean newTreeNodeDragEnabled)
          Sets whether the tree node components have dragging enabled.
<V> TreeControl.TreeNodeRepresentationStrategy<? super V>
setTreeNodeRepresentationStrategy(java.lang.Class<V> valueClass, TreeControl.TreeNodeRepresentationStrategy<? super V> treeNodeRepresentationStrategy)
          Installs the given tree node representation strategy to produce representation components for the given value class.
 
Methods inherited from class com.guiseframework.component.AbstractCompositeStateControl
determineStatus, getEnableable, getStatus, isEnabled, reset, setEnabled, setNotification, setStatus, updateStatus, updateValid
 
Methods inherited from class com.guiseframework.component.AbstractCompositeStateComponent
clearComponentStates, determineComponentState, getComponentState, getComponentStates, getObject, putComponentState, removeComponentState
 
Methods inherited from class com.guiseframework.component.AbstractMultipleCompositeComponent
addComponent, getChildComponents, hasChildComponents, removeComponent
 
Methods inherited from class com.guiseframework.component.AbstractCompositeComponent
addCompositeComponentListener, childComponentValidPropertyChanged, determineChildrenValid, determineValid, dispatchInputEvent, dispatchInputEvent, fireChildComponentAdded, fireChildComponentAdded, fireChildComponentRemoved, fireChildComponentRemoved, initializeChildComponent, loadPreferences, removeCompositeComponentListener, resetTheme, savePreferences, uninitializeChildComponent, updateTheme, validate, validateChildren
 
Methods inherited from class com.guiseframework.component.AbstractComponent
addCommandListener, addExportStrategy, addImportStrategy, addKeyListener, addMouseListener, addNotificationListener, addPreferenceProperty, applyTheme, applyTheme, depict, equals, exportTransfer, fireInputEvent, fireNotified, fireNotified, getAncestor, getCommandListeners, getComponentByID, getComponentByName, getComponentOrientation, getConstraints, getDepictID, getDepictor, getDescription, getDescriptionContentType, getDirtyComponents, getDirtyComponents, getEventListenerManager, getFlyoverStrategy, getGlyphURI, getInfo, getInfoContentType, getInfoModel, getInputStrategy, getKeyListeners, getLabel, getLabelContentType, getMouseListeners, getName, getNotification, getNotifications, getNotifications, getOrientation, getParent, getPreferenceProperties, getRootComponent, getTheme, hasAncestor, hasCommandListeners, hashCode, hasKeyListeners, hasMouseListeners, importTransfer, initialize, isDragEnabled, isDropEnabled, isFlyoverEnabled, isPreferenceProperty, isThemeApplied, isValid, notify, processEvent, removeCommandListener, removeExportStrategy, removeImportStrategy, removeKeyListener, removeMouseListener, removeNotificationListener, removePreferenceProperty, setConstraints, setDepicted, setDescription, setDescriptionContentType, setDragEnabled, setDropEnabled, setFlyoverEnabled, setFlyoverStrategy, setGlyphURI, setInfo, setInfoContentType, setInputStrategy, setLabel, setLabelContentType, setName, setOrientation, setParent, setThemeApplied, setValid, toString, update
 
Methods inherited from class com.guiseframework.model.ui.AbstractPresentationModel
BorderLineFarColor, BorderLineFarExtent, BorderLineFarStyle, BorderLineNearColor, BorderLineNearExtent, BorderLineNearStyle, BorderPageFarColor, BorderPageFarExtent, BorderPageFarStyle, BorderPageNearColor, BorderPageNearExtent, BorderPageNearStyle, getBackgroundColor, getBorderColor, getBorderExtent, getBorderStyle, getCornerArcSize, getCornerLineFarPageFarArcSize, getCornerLineFarPageNearArcSize, getCornerLineNearPageFarArcSize, getCornerLineNearPageNearArcSize, getCursor, getExtent, getFontFamilies, getFontSize, getFontStyle, getFontWeight, getLabelFontFamilies, getLabelFontSize, getLabelFontStyle, getLabelFontWeight, getLabelTextColor, getLineExtent, getMarginExtent, getMarginLineFarExtent, getMarginLineNearExtent, getMarginPageFarExtent, getMarginPageNearExtent, getOpacity, getPaddingExtent, getPaddingLineFarExtent, getPaddingLineNearExtent, getPaddingPageFarExtent, getPaddingPageNearExtent, getPageExtent, getStyleID, getTextColor, isDisplayed, isTooltipEnabled, isVisible, setBackgroundColor, setBorderColor, setBorderColor, setBorderExtent, setBorderExtent, setBorderLineFarColor, setBorderLineFarExtent, setBorderLineFarStyle, setBorderLineNearColor, setBorderLineNearExtent, setBorderLineNearStyle, setBorderPageFarColor, setBorderPageFarExtent, setBorderPageFarStyle, setBorderPageNearColor, setBorderPageNearExtent, setBorderPageNearStyle, setBorderStyle, setBorderStyle, setCornerArcSize, setCornerArcSize, setCornerLineFarPageFarArcSize, setCornerLineFarPageNearArcSize, setCornerLineNearPageFarArcSize, setCornerLineNearPageNearArcSize, setCursor, setDisplayed, setExtent, setFontFamilies, setFontSize, setFontStyle, setFontWeight, setLabelFontFamilies, setLabelFontSize, setLabelFontStyle, setLabelFontWeight, setLabelTextColor, setLineExtent, setMarginExtent, setMarginExtent, setMarginLineFarExtent, setMarginLineNearExtent, setMarginPageFarExtent, setMarginPageNearExtent, setOpacity, setPaddingExtent, setPaddingExtent, setPaddingLineFarExtent, setPaddingLineNearExtent, setPaddingPageFarExtent, setPaddingPageNearExtent, setPageExtent, setStyleID, setTextColor, setTooltipEnabled, setVisible
 
Methods inherited from class com.guiseframework.event.GuiseBoundPropertyObject
getSession
 
Methods inherited from class com.globalmentor.beans.BoundPropertyObject
addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, addVetoableChangeListener, createPostponedPropertyChangeEvent, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, getForwardPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, getPropertyChangeSupport, getRepeatPropertyChangeListener, getRepeatVetoableChangeListener, getVetoableChangeListeners, getVetoableChangeListeners, getVetoableChangeSupport, hasPropertyChangeListeners, hasVetoableChangeListeners, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, removeVetoableChangeListener
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.globalmentor.beans.PropertyBindable
addPropertyChangeListener, addPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, hasPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
 
Methods inherited from interface com.globalmentor.beans.PropertyConstrainable
addVetoableChangeListener, addVetoableChangeListener, getVetoableChangeListeners, getVetoableChangeListeners, hasVetoableChangeListeners, removeVetoableChangeListener, removeVetoableChangeListener
 
Methods inherited from interface com.guiseframework.component.Component
addCommandListener, addExportStrategy, addImportStrategy, addKeyListener, addMouseListener, addNotificationListener, addPreferenceProperty, applyTheme, applyTheme, dispatchInputEvent, exportTransfer, fireInputEvent, getAncestor, getComponentOrientation, getConstraints, getDepictor, getFlyoverStrategy, getInputStrategy, getName, getNotification, getOrientation, getParent, getPreferenceProperties, getTheme, hasCommandListeners, hasKeyListeners, hasMouseListeners, importTransfer, initialize, isDragEnabled, isDropEnabled, isFlyoverEnabled, isPreferenceProperty, isThemeApplied, isValid, loadPreferences, notify, removeCommandListener, removeExportStrategy, removeImportStrategy, removeKeyListener, removeMouseListener, removeNotificationListener, removePreferenceProperty, resetTheme, savePreferences, setConstraints, setDragEnabled, setDropEnabled, setFlyoverEnabled, setFlyoverStrategy, setInputStrategy, setName, setOrientation, setParent, setThemeApplied, updateTheme, validate
 
Methods inherited from interface com.guiseframework.platform.DepictedObject
depict, getDepictID, getSession, processEvent
 
Methods inherited from interface com.guiseframework.model.ui.PresentationModel
BorderLineFarColor, BorderLineFarExtent, BorderLineFarStyle, BorderLineNearColor, BorderLineNearExtent, BorderLineNearStyle, BorderPageFarColor, BorderPageFarExtent, BorderPageFarStyle, BorderPageNearColor, BorderPageNearExtent, BorderPageNearStyle, getBackgroundColor, getBorderColor, getBorderExtent, getBorderStyle, getCornerArcSize, getCornerLineFarPageFarArcSize, getCornerLineFarPageNearArcSize, getCornerLineNearPageFarArcSize, getCornerLineNearPageNearArcSize, getCursor, getExtent, getFontFamilies, getFontSize, getFontStyle, getFontWeight, getLabelFontFamilies, getLabelFontSize, getLabelFontStyle, getLabelFontWeight, getLabelTextColor, getLineExtent, getMarginExtent, getMarginLineFarExtent, getMarginLineNearExtent, getMarginPageFarExtent, getMarginPageNearExtent, getOpacity, getPaddingExtent, getPaddingLineFarExtent, getPaddingLineNearExtent, getPaddingPageFarExtent, getPaddingPageNearExtent, getPageExtent, getSession, getStyleID, getTextColor, isDisplayed, isTooltipEnabled, isVisible, setBackgroundColor, setBorderColor, setBorderColor, setBorderExtent, setBorderExtent, setBorderLineFarColor, setBorderLineFarExtent, setBorderLineFarStyle, setBorderLineNearColor, setBorderLineNearExtent, setBorderLineNearStyle, setBorderPageFarColor, setBorderPageFarExtent, setBorderPageFarStyle, setBorderPageNearColor, setBorderPageNearExtent, setBorderPageNearStyle, setBorderStyle, setBorderStyle, setCornerArcSize, setCornerArcSize, setCornerLineFarPageFarArcSize, setCornerLineFarPageNearArcSize, setCornerLineNearPageFarArcSize, setCornerLineNearPageNearArcSize, setCursor, setDisplayed, setExtent, setFontFamilies, setFontSize, setFontStyle, setFontWeight, setLabelFontFamilies, setLabelFontSize, setLabelFontStyle, setLabelFontWeight, setLabelTextColor, setLineExtent, setMarginExtent, setMarginExtent, setMarginLineFarExtent, setMarginLineNearExtent, setMarginPageFarExtent, setMarginPageNearExtent, setOpacity, setPaddingExtent, setPaddingExtent, setPaddingLineFarExtent, setPaddingLineNearExtent, setPaddingPageFarExtent, setPaddingPageNearExtent, setPageExtent, setStyleID, setTextColor, setTooltipEnabled, setVisible
 
Methods inherited from interface com.guiseframework.model.InfoModel
getDescription, getDescriptionContentType, getInfo, getInfoContentType, setDescription, setDescriptionContentType, setInfo, setInfoContentType
 
Methods inherited from interface com.guiseframework.model.LabelModel
getGlyphURI, getLabel, getLabelContentType, setGlyphURI, setLabel, setLabelContentType
 

Field Detail

ROOT_NODE_DISPLAYED_PROPERTY

public static final java.lang.String ROOT_NODE_DISPLAYED_PROPERTY
The bound property of whether the root node is displayed.


TREE_NODE_DRAG_ENABLED_PROPERTY

public static final java.lang.String TREE_NODE_DRAG_ENABLED_PROPERTY
The bound property of whether the tree node components have dragging enabled.

Constructor Detail

TreeControl

public TreeControl()
Default constructor with a default tree model.


TreeControl

public TreeControl(TreeModel treeModel)
Tree model constructor.

Parameters:
treeModel - The component tree model.
Throws:
java.lang.NullPointerException - if the given tree model is null.
Method Detail

getTreeModel

protected TreeModel getTreeModel()
Returns:
The tree model used by this component.

isTreeNodeDragEnabled

public boolean isTreeNodeDragEnabled()
Returns:
Whether the tree node component have dragging enabled.

setTreeNodeDragEnabled

public void setTreeNodeDragEnabled(boolean newTreeNodeDragEnabled)
Sets whether the tree node components have dragging enabled. This is a bound property of type Boolean.

Parameters:
newTreeNodeDragEnabled - true if each tree node component should allow dragging, else false.
See Also:
TREE_NODE_DRAG_ENABLED_PROPERTY

isRootNodeDisplayed

public boolean isRootNodeDisplayed()
Returns:
Whether the root node is displayed.
See Also:
AbstractPresentationModel.isDisplayed()

setRootNodeDisplayed

public void setRootNodeDisplayed(boolean newRootNodeDisplayed)
Sets whether the root node is displayed. This is a bound property of type Boolean. If the root is requested not to be displayed, the root is automatically expanded.

Parameters:
newRootNodeDisplayed - true if the root node should be displayed, else false.
See Also:
ROOT_NODE_DISPLAYED_PROPERTY, TreeNodeModel.setExpanded(boolean)

setTreeNodeRepresentationStrategy

public <V> TreeControl.TreeNodeRepresentationStrategy<? super V> setTreeNodeRepresentationStrategy(java.lang.Class<V> valueClass,
                                                                                                   TreeControl.TreeNodeRepresentationStrategy<? super V> treeNodeRepresentationStrategy)
Installs the given tree node representation strategy to produce representation components for the given value class.

Type Parameters:
V - The type of value to represent.
Parameters:
valueClass - The class of value with which the strategy should be associated.
treeNodeRepresentationStrategy - The strategy for generating components to represent values of the given type.
Returns:
The representation strategy previously associated with the given value type.

getTreeNodeRepresentationStrategy

public <V> TreeControl.TreeNodeRepresentationStrategy<? super V> getTreeNodeRepresentationStrategy(java.lang.Class<V> valueClass)
Returns the given tree node representation strategy assigned to produce representation components for the given value class.

Type Parameters:
V - The type of value to represent.
Parameters:
valueClass - The class of value with which the strategy should be associated.
Returns:
The strategy for generating components to represent values of the given type, or null if there is no associated representation strategy.
See Also:
TreeControl.DefaultValueRepresentationStrategy

getComponent

public Component getComponent(TreeNodeModel<?> treeNode)
Retrieves the component for the given object. If no component yet exists for the given object, one will be created. This version is provided to allow public access.

Overrides:
getComponent in class AbstractCompositeStateComponent<TreeNodeModel<?>,TreeControl.TreeNodeComponentState>
Parameters:
treeNode - The object for which a representation component should be returned.
Returns:
The child component representing the given object.
Throws:
java.lang.IllegalArgumentException - if the given object is not an appropriate object for a component to be created.

createComponentState

protected TreeControl.TreeNodeComponentState createComponentState(TreeNodeModel<?> treeNode)
Creates a component state to represent the given object. This implementation delegates to createTypedComponentState(TreeNodeModel).

Specified by:
createComponentState in class AbstractCompositeStateComponent<TreeNodeModel<?>,TreeControl.TreeNodeComponentState>
Parameters:
object - The object with which the component state is to be associated.
Returns:
The component state to represent the given object.
Throws:
java.lang.IllegalArgumentException - if the given object is not an appropriate object for a component state to be created.

getRootNode

public TreeNodeModel<?> getRootNode()
Specified by:
getRootNode in interface TreeModel
Returns:
The root node of the tree model.

setRootNode

public void setRootNode(TreeNodeModel<?> newRootNode)
Sets the root node of the tree model. If the this control requests that the root not be displayed, this implementation automatically expanded the root node after it is added. This is a bound property.

Specified by:
setRootNode in interface TreeModel
Parameters:
newRootNode - The new root node of the tree model.
Throws:
java.lang.NullPointerException - if the given root node is null.
See Also:
TreeModel.ROOT_NODE_PROPERTY

setAllExpanded

public void setAllExpanded(boolean newAllExpanded)
Sets whether all tree nodes are expanded.

Specified by:
setAllExpanded in interface TreeModel
Parameters:
newAllExpanded - true if all the nodes should be expanded, or false if they should be collapsed.

addActionListener

public void addActionListener(ActionListener actionListener)
Adds an action listener.

Specified by:
addActionListener in interface ActionListenable
Parameters:
actionListener - The action listener to add.

removeActionListener

public void removeActionListener(ActionListener actionListener)
Removes an action listener.

Specified by:
removeActionListener in interface ActionListenable
Parameters:
actionListener - The action listener to remove.

getActionListeners

public java.lang.Iterable<ActionListener> getActionListeners()
Specified by:
getActionListeners in interface ActionModel
Returns:
all registered action listeners.

performAction

public void performAction()
Performs the action with default force and default option. An ActionEvent is fired to all registered ActionListeners. This method delegates to performAction(int, int).

Specified by:
performAction in interface ActionModel

performAction

public void performAction(int force,
                          int option)
Performs the action with the given force and option. An ActionEvent is fired to all registered ActionListeners.

Specified by:
performAction in interface ActionModel
Parameters:
force - The zero-based force, such as 0 for no force or 1 for an action initiated by from a mouse single click.
option - The zero-based option, such as 0 for an event initiated by a mouse left button click or 1 for an event initiaged by a mouse right button click.

fireActionPerformed

protected void fireActionPerformed(int force,
                                   int option)
Fires an action event to all registered action listeners. This method delegates to fireActionPerformed(ActionEvent).

Parameters:
force - The zero-based force, such as 0 for no force or 1 for an action initiated by from a mouse single click.
option - The zero-based option, such as 0 for an event initiated by a mouse left button click or 1 for an event initiaged by a mouse right button click.
See Also:
ActionListener, ActionEvent

fireActionPerformed

protected void fireActionPerformed(ActionEvent actionEvent)
Fires a given action event to all registered action listeners.

Parameters:
actionEvent - The action event to fire.


Copyright © 2005-2010 GlobalMentor, Inc. All Rights Reserved.