Class JXTreePanel<T>
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- org.jdesktop.swingx.JXPanel
-
- io.github.astrapi69.swing.base.BasePanel<T>
-
- io.github.astrapi69.swing.tree.panel.JXTreePanel<T>
-
- Type Parameters:
T
- the generic type of the model object
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
,javax.swing.Scrollable
- Direct Known Subclasses:
GenericBaseTreeNodePanel
,GenericTreeNodePanel
,JXTreeWithContentPanel
,PreferencesPanel
public abstract class JXTreePanel<T> extends io.github.astrapi69.swing.base.BasePanel<T>
The abstract classJXTreePanel
provides aJTree
that is already embedded in aJScrollPane
. Additionally it provides factory methods that can be overwritten to provide specific behavior.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description protected javax.swing.JScrollPane
scrTree
TheJScrollPane
for the decoratedJTree
.protected javax.swing.tree.DefaultMutableTreeNode
selectedTreeNode
protected javax.swing.JTree
tree
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
-
-
Constructor Summary
Constructors Constructor Description JXTreePanel()
Instantiates a newJXTreePanel
object.JXTreePanel(io.github.astrapi69.model.api.IModel<T> model)
Instantiates a new newJXTreePanel
object.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description javax.swing.JScrollPane
getScrTree()
TheJScrollPane
for the decoratedJTree
.protected javax.swing.tree.DefaultMutableTreeNode
getSelectedTreeNode()
Gets the selected tree nodejavax.swing.JTree
getTree()
The decoratedJTree
.protected java.awt.Dimension
newPreferredSize(int width, int height)
Factory method for creating the newDimension
.protected org.jdesktop.swingx.JXTree
newTree()
New tree.protected abstract javax.swing.tree.TreeModel
newTreeModel(io.github.astrapi69.model.api.IModel<T> model)
Abstract factory callback method that have to be overwritten to provide the specificTreeModel
for theJTree
protected javax.swing.JScrollPane
newTreeScrollPane()
Factory method for creating the newJScrollPane
.protected void
onAddNewChildTreeNode(java.awt.event.MouseEvent mouseEvent)
The callback method on add a new child tree nodeprotected void
onCollapseSelectedTreeNode(java.awt.event.MouseEvent mouseEvent)
The callback method on collapse the selected tree nodeprotected void
onCopySelectedTreeNode(java.awt.event.MouseEvent mouseEvent)
The callback method on copy an existing tree nodeprotected void
onDeleteSelectedTreeNode(java.awt.event.MouseEvent mouseEvent)
The callback method on delete the selected tree nodeprotected void
onEditSelectedTreeNode(java.awt.event.MouseEvent mouseEvent)
The callback method on editing the selected tree nodeprotected void
onExpandSelectedTreeNode(java.awt.event.MouseEvent mouseEvent)
The callback method on expand the selected tree nodeprotected void
onInitializeComponents()
protected void
onInitializeLayout()
protected void
onTreeDoubleLeftClick(java.awt.event.MouseEvent mouseEvent)
The callback method on double left click.protected void
onTreeDoubleMiddleClick(java.awt.event.MouseEvent mouseEvent)
The callback method on double middle click.protected void
onTreeDoubleRightClick(java.awt.event.MouseEvent mouseEvent)
The callback method on double right click.protected void
onTreeSingleLeftClick(java.awt.event.MouseEvent mouseEvent)
The callback method on single left click.protected void
onTreeSingleMiddleClick(java.awt.event.MouseEvent mouseEvent)
The callback method on single middle click.protected void
onTreeSingleRightClick(java.awt.event.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 org.jdesktop.swingx.JXPanel
getAlpha, getBackgroundPainter, getEffectiveAlpha, getPainterChangeListener, getPreferredScrollableViewportSize, getScrollableBlockIncrement, getScrollableHeightHint, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getScrollableWidthHint, isAlpha, isInheritAlpha, isOpaque, isOpaquePatch, isPaintBorderInsets, isPaintingBackground, isPaintingOrigin, isPatch, isTransparentBackground, paint, paintComponent, paintComponentPatch, setAlpha, setBackgroundPainter, setInheritAlpha, setOpaque, setOpaquePatch, setPaintBorderInsets, setScrollableHeightHint, setScrollableTracksViewportHeight, setScrollableTracksViewportWidth, setScrollableWidthHint
-
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, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, 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, 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
-
-
-
-
Constructor Detail
-
JXTreePanel
public JXTreePanel()
Instantiates a newJXTreePanel
object.
-
JXTreePanel
public JXTreePanel(io.github.astrapi69.model.api.IModel<T> model)
Instantiates a new newJXTreePanel
object.- Parameters:
model
- the model
-
-
Method Detail
-
newPreferredSize
protected java.awt.Dimension newPreferredSize(int width, int height)
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
protected org.jdesktop.swingx.JXTree newTree()
New tree.- Returns:
- the j tree
-
newTreeModel
protected abstract javax.swing.tree.TreeModel newTreeModel(io.github.astrapi69.model.api.IModel<T> model)
Abstract factory callback method that have to be overwritten to provide the specificTreeModel
for theJTree
- Parameters:
model
- the model- Returns:
- the tree model
-
newTreeScrollPane
protected javax.swing.JScrollPane 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
protected void onTreeDoubleLeftClick(java.awt.event.MouseEvent mouseEvent)
The callback method on double left click.- Parameters:
mouseEvent
- the mouse event
-
onTreeDoubleMiddleClick
protected void onTreeDoubleMiddleClick(java.awt.event.MouseEvent mouseEvent)
The callback method on double middle click.- Parameters:
mouseEvent
- the mouse event
-
onTreeDoubleRightClick
protected void onTreeDoubleRightClick(java.awt.event.MouseEvent mouseEvent)
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
protected void onTreeSingleLeftClick(java.awt.event.MouseEvent mouseEvent)
The callback method on single left click.- Parameters:
mouseEvent
- the mouse event
-
onTreeSingleMiddleClick
protected void onTreeSingleMiddleClick(java.awt.event.MouseEvent mouseEvent)
The callback method on single middle click.- Parameters:
mouseEvent
- the mouse event
-
onTreeSingleRightClick
protected void onTreeSingleRightClick(java.awt.event.MouseEvent mouseEvent)
The callback method on single right click.- Parameters:
mouseEvent
- the mouse event
-
onAddNewChildTreeNode
protected void onAddNewChildTreeNode(java.awt.event.MouseEvent mouseEvent)
The callback method on add a new child tree node- Parameters:
mouseEvent
- the mouse event
-
onCopySelectedTreeNode
protected void onCopySelectedTreeNode(java.awt.event.MouseEvent mouseEvent)
The callback method on copy an existing tree node- Parameters:
mouseEvent
- the mouse event
-
onEditSelectedTreeNode
protected void onEditSelectedTreeNode(java.awt.event.MouseEvent mouseEvent)
The callback method on editing the selected tree node- Parameters:
mouseEvent
- the mouse event
-
onExpandSelectedTreeNode
protected void onExpandSelectedTreeNode(java.awt.event.MouseEvent mouseEvent)
The callback method on expand the selected tree node- Parameters:
mouseEvent
- the mouse event
-
onCollapseSelectedTreeNode
protected void onCollapseSelectedTreeNode(java.awt.event.MouseEvent mouseEvent)
The callback method on collapse the selected tree node- Parameters:
mouseEvent
- the mouse event
-
onDeleteSelectedTreeNode
protected void onDeleteSelectedTreeNode(java.awt.event.MouseEvent mouseEvent)
The callback method on delete the selected tree node- Parameters:
mouseEvent
- the mouse event
-
getSelectedTreeNode
protected javax.swing.tree.DefaultMutableTreeNode getSelectedTreeNode()
Gets the selected tree node- Returns:
- the selected tree node
-
getScrTree
public javax.swing.JScrollPane getScrTree()
TheJScrollPane
for the decoratedJTree
.
-
getTree
public javax.swing.JTree getTree()
The decoratedJTree
.
-
-