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
,JTreeWithContentPanel
,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.AccessibleJPanel
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected JScrollPane
TheJScrollPane
for the decoratedJTree
.protected DefaultMutableTreeNode
protected JTree
The 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_WINDOW
Fields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Constructor Summary
ConstructorsConstructorDescriptionInstantiates a newJTreePanel
object.JTreePanel
(io.github.astrapi69.model.api.IModel<T> model) Instantiates a new newJTreePanel
object. -
Method Summary
Modifier and TypeMethodDescriptionprotected DefaultMutableTreeNode
Gets the selected tree nodeprotected Dimension
newPreferredSize
(int width, int height) Factory method for creating the newDimension
.protected JTree
newTree()
New tree.protected abstract TreeModel
newTreeModel
(io.github.astrapi69.model.api.IModel<T> model) protected JScrollPane
Factory method for creating the newJScrollPane
.protected void
onAddNewChildTreeNode
(MouseEvent mouseEvent) The callback method on add a new child tree nodeprotected void
onCollapseSelectedTreeNode
(MouseEvent mouseEvent) The callback method on collapse the selected tree nodeprotected void
onCopySelectedTreeNode
(MouseEvent mouseEvent) The callback method on copy an existing tree nodeprotected void
onDeleteSelectedTreeNode
(MouseEvent mouseEvent) The callback method on delete the selected tree nodeprotected void
onEditSelectedTreeNode
(MouseEvent mouseEvent) The callback method on editing the selected tree nodeprotected void
onExpandSelectedTreeNode
(MouseEvent mouseEvent) The callback method on expand the selected tree nodeprotected void
protected void
protected void
onTreeDoubleLeftClick
(MouseEvent mouseEvent) The callback method on double left click.protected void
onTreeDoubleMiddleClick
(MouseEvent mouseEvent) The callback method on double middle click.protected void
onTreeDoubleRightClick
(MouseEvent mouseEvent) The callback method on double right click.protected void
onTreeSingleLeftClick
(MouseEvent mouseEvent) The callback method on single left click.protected void
onTreeSingleMiddleClick
(MouseEvent mouseEvent) The callback method on single middle click.protected void
onTreeSingleRightClick
(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, toString
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
Methods 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, update
Methods 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, validateTree
Methods 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
TheJScrollPane
for the decoratedJTree
. -
tree
The decoratedJTree
. -
selectedTreeNode
-
-
Constructor Details
-
JTreePanel
public JTreePanel()Instantiates a newJTreePanel
object. -
JTreePanel
Instantiates a new newJTreePanel
object.- 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 specificTreeModel
for 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:
onInitializeComponents
in classio.github.astrapi69.swing.base.BasePanel<T>
-
onInitializeLayout
protected void onInitializeLayout()- Overrides:
onInitializeLayout
in 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
-