java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
io.github.astrapi69.swing.base.BasePanel<T>
io.github.astrapi69.swing.tree.panel.JTreePanel<T>
- Type Parameters:
T- the generic type of the model object
- All Implemented Interfaces:
ImageObserver,MenuContainer,Serializable,Accessible
- Direct Known Subclasses:
GenericBaseTreeNodePanel,GenericTreeNodePanel,JXTreeWithContentPanel,PreferencesPanel
public abstract class JTreePanel<T>
extends io.github.astrapi69.swing.base.BasePanel<T>
The abstract class
JTreePanel provides a JTree that is already embedded in a
JScrollPane. Additionally it provides factory methods that can be overwritten to provide
specific behavior.- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanelNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected JScrollPaneTheJScrollPanefor the decoratedJTree.protected DefaultMutableTreeNodeprotected JTreeThe decoratedJTree.Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
ConstructorsConstructorDescriptionInstantiates a newJTreePanelobject.JTreePanel(io.github.astrapi69.model.api.IModel<T> model) Instantiates a new newJTreePanelobject. -
Method Summary
Modifier and TypeMethodDescriptionprotected DefaultMutableTreeNodeGets the selected tree nodeprotected DimensionnewPreferredSize(int width, int height) Factory method for creating the newDimension.protected JTreenewTree()New tree.protected abstract TreeModelnewTreeModel(io.github.astrapi69.model.api.IModel<T> model) protected JScrollPaneFactory method for creating the newJScrollPane.protected voidonAddNewChildTreeNode(MouseEvent mouseEvent) The callback method on add a new child tree nodeprotected voidonCollapseSelectedTreeNode(MouseEvent mouseEvent) The callback method on collapse the selected tree nodeprotected voidonCopySelectedTreeNode(MouseEvent mouseEvent) The callback method on copy an existing tree nodeprotected voidonDeleteSelectedTreeNode(MouseEvent mouseEvent) The callback method on delete the selected tree nodeprotected voidonEditSelectedTreeNode(MouseEvent mouseEvent) The callback method on editing the selected tree nodeprotected voidonExpandSelectedTreeNode(MouseEvent mouseEvent) The callback method on expand the selected tree nodeprotected voidprotected voidprotected voidonTreeDoubleLeftClick(MouseEvent mouseEvent) The callback method on double left click.protected voidonTreeDoubleMiddleClick(MouseEvent mouseEvent) The callback method on double middle click.protected voidonTreeDoubleRightClick(MouseEvent mouseEvent) The callback method on double right click.protected voidonTreeSingleLeftClick(MouseEvent mouseEvent) The callback method on single left click.protected voidonTreeSingleMiddleClick(MouseEvent mouseEvent) The callback method on single middle click.protected voidonTreeSingleRightClick(MouseEvent mouseEvent) The callback method on single right click.Methods inherited from class io.github.astrapi69.swing.base.BasePanel
canEqual, equals, getModel, getModelObject, hashCode, onAfterInitialize, onAfterInitializeComponents, onAfterInitializeLayout, onBeforeInitialize, onBeforeInitializeComponents, onBeforeInitializeLayout, onInitialize, setModel, setModelObject, toStringMethods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIMethods inherited from class javax.swing.JComponent
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, 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, updateMethods inherited from class java.awt.Container
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, validateTreeMethods inherited from class java.awt.Component
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, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
scrTree
TheJScrollPanefor the decoratedJTree. -
tree
The decoratedJTree. -
selectedTreeNode
-
-
Constructor Details
-
JTreePanel
public JTreePanel()Instantiates a newJTreePanelobject. -
JTreePanel
Instantiates a new newJTreePanelobject.- Parameters:
model- the model
-
-
Method Details
-
newPreferredSize
Factory method for creating the newDimension. This method is invoked in the constructor from the derived classes and can be overridden so users can provide their own version of aDimension- Parameters:
width- the widthheight- the height- Returns:
- the new
Dimension
-
newTree
New tree.- Returns:
- the j tree
-
newTreeModel
Abstract factory callback method that have to be overwritten to provide the specificTreeModelfor theJTree- Parameters:
model- the model- Returns:
- the tree model
-
newTreeScrollPane
Factory method for creating the newJScrollPane. This method is invoked in the constructor from the derived classes and can be overridden so users can provide their own version of aJScrollPane- Returns:
- the new
JScrollPane
-
onTreeDoubleLeftClick
The callback method on double left click.- Parameters:
mouseEvent- the mouse event
-
onTreeDoubleMiddleClick
The callback method on double middle click.- Parameters:
mouseEvent- the mouse event
-
onTreeDoubleRightClick
The callback method on double right click.- Parameters:
mouseEvent- the mouse event
-
onInitializeComponents
protected void onInitializeComponents()- Overrides:
onInitializeComponentsin classio.github.astrapi69.swing.base.BasePanel<T>
-
onInitializeLayout
protected void onInitializeLayout()- Overrides:
onInitializeLayoutin classio.github.astrapi69.swing.base.BasePanel<T>
-
onTreeSingleLeftClick
The callback method on single left click.- Parameters:
mouseEvent- the mouse event
-
onTreeSingleMiddleClick
The callback method on single middle click.- Parameters:
mouseEvent- the mouse event
-
onTreeSingleRightClick
The callback method on single right click.- Parameters:
mouseEvent- the mouse event
-
onAddNewChildTreeNode
The callback method on add a new child tree node- Parameters:
mouseEvent- the mouse event
-
onCopySelectedTreeNode
The callback method on copy an existing tree node- Parameters:
mouseEvent- the mouse event
-
onEditSelectedTreeNode
The callback method on editing the selected tree node- Parameters:
mouseEvent- the mouse event
-
onExpandSelectedTreeNode
The callback method on expand the selected tree node- Parameters:
mouseEvent- the mouse event
-
onCollapseSelectedTreeNode
The callback method on collapse the selected tree node- Parameters:
mouseEvent- the mouse event
-
onDeleteSelectedTreeNode
The callback method on delete the selected tree node- Parameters:
mouseEvent- the mouse event
-
getSelectedTreeNode
Gets the selected tree node- Returns:
- the selected tree node
-