public class IlvDiagrammerTree extends JTree
IlvDiagrammer
as a tree.
This component connects itself automatically to the "current" diagram component in a component hierarchy. All you have to do is create the tree, and add it to a hierarchy that also contains one or more diagram components.
The icons of the tree items are automatically generated reduced "screen dumps" of the real objects of the diagram. The same icon is used for objects that are considered "equal", as defined by a hash function.
The default hash function can be changed through the
setIconHashFunction(ilog.views.diagrammer.application.IlvDiagrammerHashFunction)
method.
You could decide, for example, that you want to differentiate, among all
the objects of tag "activity"
, the objects with different values
for the "implementation"
property. Here is how you would do this:
tree.setIconHashFunction(new IlvDiagrammerHashFunction(){ public Object hashCode(IlvDiagrammer diagrammer, Object obj) { return diagrammer.getTag(obj) + " " + diagrammer.getObjectProperty(obj, "implementation"); } });
Styling Options
The rendering of the tree items can be customized
through the style sheet of the diagram component. To do this, you must call
setStyleApplicationComponents(true)
on the diagram component, and you must define special rules with the
"DiagrammerTree"
pseudo-class, like the following:
node:DiagrammerTree { foreground : "blue"; }Like in the diagram itself, you can style the tree items according to the different kinds of nodes and links, for example:
node[state="Error"]:DiagrammerTree { foreground : "red"; }You can also use the following additional pseudo-classes:
:selected
applies the rule only to the selected item in the tree.
:expanded
applies the rule only if the tree item is expanded.
:leaf
applies the rule only if the tree item is a leaf.
:focus
applies the rule only if the tree item has the keyboard focus.
javax.swing.tree.DefaultTreeCellRenderer
class (which is a subclass of javax.swing.JLabel
).
The most useful properties are typically foreground
, background
,
font
, text
and icon
.JTree.AccessibleJTree, JTree.DropLocation, JTree.DynamicUtilTreeNode, JTree.EmptySelectionModel, JTree.TreeModelHandler, JTree.TreeSelectionRedirector
JComponent.AccessibleJComponent
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
ANCHOR_SELECTION_PATH_PROPERTY, CELL_EDITOR_PROPERTY, CELL_RENDERER_PROPERTY, cellEditor, cellRenderer, editable, EDITABLE_PROPERTY, EXPANDS_SELECTED_PATHS_PROPERTY, INVOKES_STOP_CELL_EDITING_PROPERTY, invokesStopCellEditing, LARGE_MODEL_PROPERTY, largeModel, LEAD_SELECTION_PATH_PROPERTY, ROOT_VISIBLE_PROPERTY, rootVisible, ROW_HEIGHT_PROPERTY, rowHeight, SCROLLS_ON_EXPAND_PROPERTY, scrollsOnExpand, SELECTION_MODEL_PROPERTY, selectionModel, selectionRedirector, SHOWS_ROOT_HANDLES_PROPERTY, showsRootHandles, TOGGLE_CLICK_COUNT_PROPERTY, toggleClickCount, TREE_MODEL_PROPERTY, treeModel, treeModelListener, VISIBLE_ROW_COUNT_PROPERTY, visibleRowCount
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor and Description |
---|
IlvDiagrammerTree()
Creates a new Diagrammer tree with the default resource bundle
"ilog.views.diagrammer.application.tree" . |
IlvDiagrammerTree(ResourceBundle bundle)
Creates a new Diagrammer tree with the specified resource bundle.
|
Modifier and Type | Method and Description |
---|---|
void |
addNotify()
Notifies this component that it now has a parent component.
|
IlvDiagrammer |
getDiagrammer()
Returns the diagram component to which this component is currently attached.
|
Icon |
getIcon()
Returns the icon to be used when this component is displayed in a frame.
|
IlvDiagrammerHashFunction |
getIconHashFunction()
Returns the object used to determine which objects will have the same icon
in the tree.
|
int |
getIconSize()
Returns the size of the icons for the tree items representing the nodes and links.
|
Icon |
getRootIcon()
Returns the icon for the root of the tree.
|
String |
getRootLabel()
Returns the label for the root of the tree.
|
String |
getTitle()
Returns the title to be used when this component is displayed in a frame.
|
protected String |
makeTreeNodeItemLabel(Object sdmObject,
String labelProperty)
Creates the tree item label for an SDM object.
|
void |
removeNotify()
Notifies this component that it no longer has a parent component.
|
void |
setDiagrammer(IlvDiagrammer diagrammer)
Sets the diagram component to which this component is attached.
|
void |
setIconHashFunction(IlvDiagrammerHashFunction iconHashFunction)
Changes the object used to determine which objects will have the same icon
in the tree.
|
void |
setIconSize(int iconSize)
Changes the size of the icons for the tree items representing the nodes and links.
|
void |
setRootIcon(Icon rootIcon)
Changes the icon for the root of the tree.
|
void |
setRootLabel(String rootLabel)
Changes the label for the root of the tree.
|
void |
updateIcons()
Resets the cache containing the icons of the tree items and repaints
the tree.
|
addSelectionInterval, addSelectionPath, addSelectionPaths, addSelectionRow, addSelectionRows, addTreeExpansionListener, addTreeSelectionListener, addTreeWillExpandListener, cancelEditing, clearSelection, clearToggledPaths, collapsePath, collapseRow, convertValueToText, createTreeModel, createTreeModelListener, expandPath, expandRow, fireTreeCollapsed, fireTreeExpanded, fireTreeWillCollapse, fireTreeWillExpand, fireValueChanged, getAccessibleContext, getAnchorSelectionPath, getCellEditor, getCellRenderer, getClosestPathForLocation, getClosestRowForLocation, getDefaultTreeModel, getDescendantToggledPaths, getDragEnabled, getDropLocation, getDropMode, getEditingPath, getExpandedDescendants, getExpandsSelectedPaths, getInvokesStopCellEditing, getLastSelectedPathComponent, getLeadSelectionPath, getLeadSelectionRow, getMaxSelectionRow, getMinSelectionRow, getModel, getNextMatch, getPathBetweenRows, getPathBounds, getPathForLocation, getPathForRow, getPreferredScrollableViewportSize, getRowBounds, getRowCount, getRowForLocation, getRowForPath, getRowHeight, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getScrollsOnExpand, getSelectionCount, getSelectionModel, getSelectionPath, getSelectionPaths, getSelectionRows, getShowsRootHandles, getToggleClickCount, getToolTipText, getTreeExpansionListeners, getTreeSelectionListeners, getTreeWillExpandListeners, getUI, getUIClassID, getVisibleRowCount, hasBeenExpanded, isCollapsed, isCollapsed, isEditable, isEditing, isExpanded, isExpanded, isFixedRowHeight, isLargeModel, isPathEditable, isPathSelected, isRootVisible, isRowSelected, isSelectionEmpty, isVisible, makeVisible, paramString, removeDescendantSelectedPaths, removeDescendantToggledPaths, removeSelectionInterval, removeSelectionPath, removeSelectionPaths, removeSelectionRow, removeSelectionRows, removeTreeExpansionListener, removeTreeSelectionListener, removeTreeWillExpandListener, scrollPathToVisible, scrollRowToVisible, setAnchorSelectionPath, setCellEditor, setCellRenderer, setDragEnabled, setDropMode, setEditable, setExpandedState, setExpandsSelectedPaths, setInvokesStopCellEditing, setLargeModel, setLeadSelectionPath, setModel, setRootVisible, setRowHeight, setScrollsOnExpand, setSelectionInterval, setSelectionModel, setSelectionPath, setSelectionPaths, setSelectionRow, setSelectionRows, setShowsRootHandles, setToggleClickCount, setUI, setVisibleRowCount, startEditingAtPath, stopEditing, treeDidChange, updateUI
addAncestorListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
public IlvDiagrammerTree(ResourceBundle bundle)
bundle
- resource bundlepublic IlvDiagrammerTree()
"ilog.views.diagrammer.application.tree"
.public void addNotify()
addNotify
in class JComponent
public void removeNotify()
removeNotify
in class JComponent
public void setRootLabel(String rootLabel)
rootLabel
- The new label for the root.public String getRootLabel()
public void setRootIcon(Icon rootIcon)
rootIcon
- The new icon for the root.public Icon getRootIcon()
public int getIconSize()
public void setIconSize(int iconSize)
iconSize
- The new icon size.public IlvDiagrammer getDiagrammer()
public void setDiagrammer(IlvDiagrammer diagrammer)
You do not usually need to call this method, because this component is attached automatically to the current diagram component of the Swing hierarchy.
diagrammer
- The new diagram component to which this component is attached.public IlvDiagrammerHashFunction getIconHashFunction()
IlvDiagrammerHashFunction
.IlvDiagrammerHashFunction
object.public void setIconHashFunction(IlvDiagrammerHashFunction iconHashFunction)
IlvDiagrammerHashFunction
.iconHashFunction
- The new IlvDiagrammerHashFunction
object.public void updateIcons()
public String getTitle()
public Icon getIcon()
protected String makeTreeNodeItemLabel(Object sdmObject, String labelProperty)
sdmObject
- The SDM object to be displayed in the tree.labelProperty
- The label property.© Copyright 2024 Rogue Wave Software, Inc., a Perforce company.. All Rights Reserved.