public class TreeTableView extends BeanTreeView
The main mechanism for setting what properties are displayed is
TreeTableView.setProperties(org.openide.nodes.Node.Property[])
.
Pass this method an
array of properties. These will act as a template, and properties of
the displayed nodes which share the same name will be used in
the columns of the table.
You can customize behaviour
of property columns using Property.setValue (String parameter,
Object value)
. For example,
assume you have following array of properties:
org.openide.nodes.Node.Property[] properties
if you need second column to be initially invisible in TreeTableView, you
should set its custom parameter:
properties[1].setValue ("InvisibleInTreeTableView", Boolean.TRUE);
Parameter name | Parameter type | Description |
---|---|---|
InvisibleInTreeTableView | Boolean | This property column should be initially invisible (hidden). |
ComparableColumnTTV | Boolean | This property column should be used for sorting. |
SortingColumnTTV | Boolean | TreeTableView should be initially sorted by this property column. |
DescendingOrderTTV | Boolean | If this parameter and SortingColumnTTV is set, TreeTableView should
be initially sorted by this property columns in descending order.
|
OrderNumberTTV | Integer | If this parameter is set to N , this property column will be
displayed as Nth column of table. If not set, column will be
displayed in natural order.
|
TreeColumnTTV | Boolean | Identifies special property representing first (tree) column. To allow setting
of SortingColumnTTV, DescendingOrderTTV, ComparableColumnTTV parameters
also for first (tree) column, use this special parameter and add
this property to Node.Property[] array before calling
TreeTableView.setProperties (Node.Property[]).
|
ColumnMnemonicCharTTV | String | When set, this parameter contains the mnemonic character for column's display name (e.g. in Change Visible Columns dialog window). If not set, no mnemonic will be displayed. |
ColumnDisplayNameWithMnemonicTTV | String | When set, this parameter contains column's display name with '&' as the mnemonic. This parameter should be preferred over ColumnMnemonicCharTTV. |
This class is a view
to use it properly you need to add it into a component which implements
ExplorerManager.Provider
. Good examples of that can be found
in ExplorerUtils
. Then just use
ExplorerManager.Provider.getExplorerManager()
call to get the ExplorerManager
and control its state.
There can be multiple views under one container implementing ExplorerManager.Provider
. Select from
range of predefined ones or write your own:
BeanTreeView
- shows a tree of nodesContextTreeView
- shows a tree of nodes without leaf nodesListView
- shows a list of nodesIconView
- shows a rows of nodes with bigger iconsChoiceView
- creates a combo box based on the explored nodesTreeTableView
- shows tree of nodes together with a set of their Node.Property
MenuView
- can create a JMenu
structure based on structure of Node
s
All of these views use ExplorerManager.find(java.awt.Component)
to walk up the AWT hierarchy and locate the
ExplorerManager
to use as a controler. They attach as listeners to
it and also call its setter methods to update the shared state based on the
user action. Not all views make sence together, but for example
ContextTreeView
and ListView
were designed to complement
themselves and behaves like windows explorer. The PropertySheetView
for example should be able to work with any other view.
JScrollPane.AccessibleJScrollPane, JScrollPane.ScrollBar
JComponent.AccessibleJComponent
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Modifier and Type | Field and Description |
---|---|
protected JTable |
treeTable
The table
|
columnHeader, horizontalScrollBar, horizontalScrollBarPolicy, lowerLeft, lowerRight, rowHeader, upperLeft, upperRight, verticalScrollBar, verticalScrollBarPolicy, viewport
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
COLUMN_HEADER, HORIZONTAL_SCROLLBAR, HORIZONTAL_SCROLLBAR_ALWAYS, HORIZONTAL_SCROLLBAR_AS_NEEDED, HORIZONTAL_SCROLLBAR_NEVER, HORIZONTAL_SCROLLBAR_POLICY, LOWER_LEADING_CORNER, LOWER_LEFT_CORNER, LOWER_RIGHT_CORNER, LOWER_TRAILING_CORNER, ROW_HEADER, UPPER_LEADING_CORNER, UPPER_LEFT_CORNER, UPPER_RIGHT_CORNER, UPPER_TRAILING_CORNER, VERTICAL_SCROLLBAR, VERTICAL_SCROLLBAR_ALWAYS, VERTICAL_SCROLLBAR_AS_NEEDED, VERTICAL_SCROLLBAR_NEVER, VERTICAL_SCROLLBAR_POLICY, VIEWPORT
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor and Description |
---|
TreeTableView()
Create TreeTableView with default NodeTableModel
|
TreeTableView(NodeTableModel ntm)
Creates TreeTableView with provided NodeTableModel.
|
Modifier and Type | Method and Description |
---|---|
void |
add(Component comp,
Object constraints) |
void |
addMouseListener(MouseListener l) |
void |
addNotify()
Initializes the component and lookup explorer manager.
|
void |
collapseNode(Node n)
Collapses the tree under given node.
|
protected NodeTreeModel |
createModel()
Create a new model.
|
void |
expandNode(Node n)
Expands the node in the tree.
|
AccessibleContext |
getAccessibleContext()
Overrides JScrollPane's getAccessibleContext() method to use internal accessible context.
|
Insets |
getInsets() |
int |
getTableAutoResizeMode()
Gets resize mode of table.
|
int |
getTableColumnPreferredWidth(int index)
Gets preferred width of table column
|
int |
getTreePreferredWidth()
Get preferred size of tree view
|
boolean |
isExpanded(Node n)
Test whether a node is expanded in the tree or not
|
boolean |
isQuickSearchAllowed()
Test whether the quick search feature is enabled or not.
|
void |
remove(Component comp) |
void |
removeMouseListener(MouseListener l) |
void |
removeNotify()
Deinitializes listeners.
|
void |
requestFocus()
Requests focus for the tree component.
|
boolean |
requestFocusInWindow()
Requests focus for the tree component.
|
void |
setDefaultActionAllowed(boolean value)
Enable/disable double click to invoke default action.
|
void |
setDragSource(boolean state)
Drag and drop is not supported in TreeTableView.
|
void |
setDropTarget(boolean state)
Drag and drop is not supported in TreeTableView.
|
void |
setHorizontalScrollBarPolicy(int policy) |
void |
setPopupAllowed(boolean value)
Enable/disable displaying popup menus on tree view items.
|
void |
setProperties(Node.Property[] props)
Set columns.
|
void |
setQuickSearchAllowed(boolean allowedQuickSearch)
Set whether the quick search feature is enabled or not.
|
void |
setRowHeader(JViewport rowHeader) |
void |
setSelectionMode(int mode)
Sets the selection model, which must be one of
TreeSelectionModel.SINGLE_TREE_SELECTION,
TreeSelectionModel.CONTIGUOUS_TREE_SELECTION or
TreeSelectionModel.DISCONTIGUOUS_TREE_SELECTION.
|
void |
setTableAutoResizeMode(int mode)
Sets resize mode of table.
|
void |
setTableColumnPreferredWidth(int index,
int width)
Sets preferred width of table column
|
void |
setTreePreferredWidth(int width)
Set preferred size of tree view
|
void |
setVerticalScrollBarPolicy(int policy) |
protected void |
showSelection(TreePath[] treePaths)
Shows selection to reflect the current state of the selection in the explorer.
|
isEnabled, selectionAccept, selectionChanged, setEnabled, showPath
expandAll, getAllowedDragActions, getAllowedDropActions, getScrollsOnExpand, getSelectionMode, isDefaultActionEnabled, isDragSource, isDropTarget, isPopupAllowed, isRootVisible, setAllowedDragActions, setAllowedDropActions, setAutoWaitCursor, setRootVisible, setScrollsOnExpand, setUseSubstringInQuickSearch, updateUI, useExploredContextMenu, validate
createHorizontalScrollBar, createVerticalScrollBar, createViewport, getColumnHeader, getCorner, getHorizontalScrollBar, getHorizontalScrollBarPolicy, getRowHeader, getUI, getUIClassID, getVerticalScrollBar, getVerticalScrollBarPolicy, getViewport, getViewportBorder, getViewportBorderBounds, isValidateRoot, isWheelScrollingEnabled, paramString, setColumnHeader, setColumnHeaderView, setComponentOrientation, setCorner, setHorizontalScrollBar, setLayout, setRowHeaderView, setUI, setVerticalScrollBar, setViewport, setViewportBorder, setViewportView, setWheelScrollingEnabled
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, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, 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, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
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, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, transferFocusDownCycle, validateTree
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, 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, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
protected JTable treeTable
public TreeTableView()
public TreeTableView(NodeTableModel ntm)
ntm
- node table modelpublic void setRowHeader(JViewport rowHeader)
setRowHeader
in class JScrollPane
public void setHorizontalScrollBarPolicy(int policy)
setHorizontalScrollBarPolicy
in class JScrollPane
public void setVerticalScrollBarPolicy(int policy)
setVerticalScrollBarPolicy
in class JScrollPane
protected NodeTreeModel createModel()
BeanTreeView
NodeTreeModel
.createModel
in class BeanTreeView
public void requestFocus()
requestFocus
in class TreeView
public boolean requestFocusInWindow()
TreeView
requestFocusInWindow
in class TreeView
public void setSelectionMode(int mode)
TreeView
This may change the selection if the current selection is not valid
for the new mode. For example, if three TreePaths are
selected when the mode is changed to TreeSelectionModel.SINGLE_TREE_SELECTION
,
only one TreePath will remain selected. It is up to the particular
implementation to decide what TreePath remains selected.
Note: TreeSelectionModel.DISCONTIGUOUS_TREE_SELECTION is set as default.
setSelectionMode
in class TreeView
mode
- selection modepublic AccessibleContext getAccessibleContext()
getAccessibleContext
in interface Accessible
getAccessibleContext
in class JScrollPane
public void setPopupAllowed(boolean value)
TreeView
setPopupAllowed
in class TreeView
value
- true
to enablepublic void setDefaultActionAllowed(boolean value)
TreeView
setDefaultActionAllowed
in class TreeView
value
- true
to enablepublic boolean isQuickSearchAllowed()
TreeView
isQuickSearchAllowed
in class TreeView
public void setQuickSearchAllowed(boolean allowedQuickSearch)
TreeView
setQuickSearchAllowed
in class TreeView
allowedQuickSearch
- true
if quick search shall be enabledpublic void setProperties(Node.Property[] props)
props
- each column is constructed from Node.Propertypublic final void setTableAutoResizeMode(int mode)
mode
- - One of 5 legal values: JTable.AUTO_RESIZE_OFF, JTable.AUTO_RESIZE_NEXT_COLUMN, JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS, JTable.AUTO_RESIZE_LAST_COLUMN, JTable.AUTO_RESIZE_ALL_COLUMNS
public final int getTableAutoResizeMode()
JTable.AUTO_RESIZE_OFF, JTable.AUTO_RESIZE_NEXT_COLUMN, JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS, JTable.AUTO_RESIZE_LAST_COLUMN, JTable.AUTO_RESIZE_ALL_COLUMNS
public final void setTableColumnPreferredWidth(int index, int width)
index
- column indexwidth
- preferred column widthpublic final int getTableColumnPreferredWidth(int index)
index
- column indexpublic final void setTreePreferredWidth(int width)
width
- preferred width of tree viewpublic final int getTreePreferredWidth()
public void addNotify()
TreeView
public void removeNotify()
TreeView
removeNotify
in class TreeView
public void addMouseListener(MouseListener l)
addMouseListener
in class Component
public void removeMouseListener(MouseListener l)
removeMouseListener
in class Component
public void setDragSource(boolean state)
setDragSource
in class TreeView
state
- true enables dragging support, false disables it.public void setDropTarget(boolean state)
setDropTarget
in class TreeView
state
- true means drops into view are allowed,
false forbids any drops into this view.protected void showSelection(TreePath[] treePaths)
TreeView
showSelection
in class BeanTreeView
treePaths
- array of paths that should be selectedpublic void collapseNode(Node n)
TreeView
collapseNode
in class TreeView
n
- node to collapsepublic void expandNode(Node n)
TreeView
EventQueue.invokeLater(java.lang.Runnable)
and really expands the nodeexpandNode
in class TreeView
n
- nodepublic boolean isExpanded(Node n)
TreeView
isExpanded
in class TreeView
n
- the node to test