public class CheckBoxTree extends JTree
To select an element, user can mouse click on the check box, or select one or several tree nodes and press SPACE key to toggle the check box selection for all selected tree nodes.
In order to retrieve which tree paths are selected, you need to callgetCheckBoxTreeSelectionModel()
. It
will return the selection model that keeps track of which tree paths have been checked. For example DefaultTreeSelectionModel.getSelectionPaths()
will give the list of paths which have been checked.Modifier and Type | Class and Description |
---|---|
protected static class |
CheckBoxTree.Handler
CheckBoxTree's mouse event handler, key event handler and tree selection event handler.
|
JTree.AccessibleJTree, JTree.DropLocation, JTree.DynamicUtilTreeNode, JTree.EmptySelectionModel, JTree.TreeModelHandler, JTree.TreeSelectionRedirector
JComponent.AccessibleJComponent
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Modifier and Type | Field and Description |
---|---|
protected CheckBoxTreeCellRenderer |
_treeCellRenderer |
static String |
PROPERTY_CHECKBOX_ENABLED |
static String |
PROPERTY_CLICK_IN_CHECKBOX_ONLY |
static String |
PROPERTY_DIG_IN |
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
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor and Description |
---|
CheckBoxTree() |
CheckBoxTree(Hashtable<?,?> value) |
CheckBoxTree(Object[] value) |
CheckBoxTree(TreeModel newModel) |
CheckBoxTree(TreeNode root) |
CheckBoxTree(TreeNode root,
boolean asksAllowsChildren) |
CheckBoxTree(Vector<?> value) |
Modifier and Type | Method and Description |
---|---|
protected CheckBoxTreeCellRenderer |
createCellRenderer(TreeCellRenderer renderer)
Creates the cell renderer.
|
protected CheckBoxTreeSelectionModel |
createCheckBoxTreeSelectionModel(TreeModel model)
Creates the CheckBoxTreeSelectionModel.
|
protected CheckBoxTree.Handler |
createHandler()
Creates the mouse listener and key listener used by CheckBoxTree.
|
TreeCellRenderer |
getActualCellRenderer()
Gets the actual cell renderer.
|
TreeCellRenderer |
getCellRenderer()
Gets the cell renderer with check box.
|
TristateCheckBox |
getCheckBox()
Get the CheckBox used for CheckBoxTreeCellRenderer.
|
CheckBoxTreeSelectionModel |
getCheckBoxTreeSelectionModel()
Gets the selection model for the check boxes.
|
TreePath |
getNextMatch(String prefix,
int startingRow,
Position.Bias bias) |
protected void |
init()
Initialize the CheckBoxTree.
|
boolean |
isCheckBoxEnabled()
Gets the value of property checkBoxEnabled.
|
boolean |
isCheckBoxEnabled(TreePath path)
Checks if check box is enabled.
|
boolean |
isCheckBoxVisible(TreePath path)
Checks if check box is visible.
|
boolean |
isClickInCheckBoxOnly()
Gets the value of property clickInCheckBoxOnly.
|
boolean |
isDigIn()
Gets the dig-in mode.
|
boolean |
isSelectPartialOnToggling()
Gets the flag indicating if toggling should select or deselect the partially selected node.
|
void |
setCellRenderer(TreeCellRenderer x) |
void |
setCheckBox(TristateCheckBox checkBox)
Set the CheckBox used for CheckBoxTreeCellRenderer.
|
void |
setCheckBoxEnabled(boolean checkBoxEnabled)
Sets the value of property checkBoxEnabled.
|
void |
setClickInCheckBoxOnly(boolean clickInCheckBoxOnly)
Sets the value of property clickInCheckBoxOnly.
|
void |
setDigIn(boolean digIn)
Sets the dig-in mode.
|
void |
setSelectPartialOnToggling(boolean selectPartialOnToggling)
Sets the flag indicating if toggling should select or deselect the partially selected node.
|
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, getClosestPathForLocation, getClosestRowForLocation, getDefaultTreeModel, getDescendantToggledPaths, getDragEnabled, getDropLocation, getDropMode, getEditingPath, getExpandedDescendants, getExpandsSelectedPaths, getInvokesStopCellEditing, getLastSelectedPathComponent, getLeadSelectionPath, getLeadSelectionRow, getMaxSelectionRow, getMinSelectionRow, getModel, 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, 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, addNotify, 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, removeNotify, 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 static final String PROPERTY_CHECKBOX_ENABLED
public static final String PROPERTY_CLICK_IN_CHECKBOX_ONLY
public static final String PROPERTY_DIG_IN
protected CheckBoxTreeCellRenderer _treeCellRenderer
public CheckBoxTree()
public CheckBoxTree(Object[] value)
public CheckBoxTree(Vector<?> value)
public CheckBoxTree(Hashtable<?,?> value)
public CheckBoxTree(TreeNode root)
public CheckBoxTree(TreeNode root, boolean asksAllowsChildren)
public CheckBoxTree(TreeModel newModel)
protected void init()
protected CheckBoxTreeSelectionModel createCheckBoxTreeSelectionModel(TreeModel model)
model
- the tree model.public TreeCellRenderer getCellRenderer()
getCellRenderer
in class JTree
getActualCellRenderer()
.public TreeCellRenderer getActualCellRenderer()
setCellRenderer(javax.swing.tree.TreeCellRenderer)
.public void setCellRenderer(TreeCellRenderer x)
setCellRenderer
in class JTree
protected CheckBoxTreeCellRenderer createCellRenderer(TreeCellRenderer renderer)
renderer
- the actual renderer for the tree node. This method will return a cell renderer that use a check
box and put the actual renderer inside it.protected CheckBoxTree.Handler createHandler()
public TristateCheckBox getCheckBox()
setCheckBox(TristateCheckBox)
public void setCheckBox(TristateCheckBox checkBox)
By default, it's null. CheckBoxTreeCellRenderer then will create a default TristateCheckBox.
checkBox
- the check boxpublic boolean isSelectPartialOnToggling()
setSelectPartialOnToggling(boolean)
public void setSelectPartialOnToggling(boolean selectPartialOnToggling)
selectPartialOnToggling
- the flagpublic TreePath getNextMatch(String prefix, int startingRow, Position.Bias bias)
getNextMatch
in class JTree
public CheckBoxTreeSelectionModel getCheckBoxTreeSelectionModel()
public boolean isCheckBoxEnabled()
public void setCheckBoxEnabled(boolean checkBoxEnabled)
checkBoxEnabled
- true to allow to check the check box. False to disable it which means user can see whether
a row is checked or not but they cannot change it.public boolean isCheckBoxEnabled(TreePath path)
path
- the tree path.public boolean isCheckBoxVisible(TreePath path)
path
- the tree path.public boolean isDigIn()
public void setDigIn(boolean digIn)
digIn
- the new digIn mode.public boolean isClickInCheckBoxOnly()
public void setClickInCheckBoxOnly(boolean clickInCheckBoxOnly)
clickInCheckBoxOnly
- true to allow to check the check box. False to disable it which means user can see
whether a row is checked or not but they cannot change it.