Class 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 class JXTreePanel 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:
    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
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected javax.swing.JScrollPane scrTree
      The JScrollPane for the decorated JTree.
      protected javax.swing.tree.DefaultMutableTreeNode selectedTreeNode  
      protected javax.swing.JTree tree
      The decorated JTree.
      • 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
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      javax.swing.JScrollPane getScrTree()
      The JScrollPane for the decorated JTree.
      protected javax.swing.tree.DefaultMutableTreeNode getSelectedTreeNode()
      Gets the selected tree node
      javax.swing.JTree getTree()
      The decorated JTree.
      protected java.awt.Dimension newPreferredSize​(int width, int height)
      Factory method for creating the new Dimension.
      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 specific TreeModel for the JTree
      protected javax.swing.JScrollPane newTreeScrollPane()
      Factory method for creating the new JScrollPane.
      protected void onAddNewChildTreeNode​(java.awt.event.MouseEvent mouseEvent)
      The callback method on add a new child tree node
      protected void onCollapseSelectedTreeNode​(java.awt.event.MouseEvent mouseEvent)
      The callback method on collapse the selected tree node
      protected void onCopySelectedTreeNode​(java.awt.event.MouseEvent mouseEvent)
      The callback method on copy an existing tree node
      protected void onDeleteSelectedTreeNode​(java.awt.event.MouseEvent mouseEvent)
      The callback method on delete the selected tree node
      protected void onEditSelectedTreeNode​(java.awt.event.MouseEvent mouseEvent)
      The callback method on editing the selected tree node
      protected void onExpandSelectedTreeNode​(java.awt.event.MouseEvent mouseEvent)
      The callback method on expand the selected tree node
      protected 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
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Field Detail

      • scrTree

        protected javax.swing.JScrollPane scrTree
        The JScrollPane for the decorated JTree.
      • tree

        protected javax.swing.JTree tree
        The decorated JTree.
      • selectedTreeNode

        protected javax.swing.tree.DefaultMutableTreeNode selectedTreeNode
    • Constructor Detail

      • JXTreePanel

        public JXTreePanel()
        Instantiates a new JXTreePanel object.
      • JXTreePanel

        public JXTreePanel​(io.github.astrapi69.model.api.IModel<T> model)
        Instantiates a new new JXTreePanel object.
        Parameters:
        model - the model
    • Method Detail

      • newPreferredSize

        protected java.awt.Dimension newPreferredSize​(int width,
                                                      int height)
        Factory method for creating the new Dimension. This method is invoked in the constructor from the derived classes and can be overridden so users can provide their own version of a Dimension
        Parameters:
        width - the width
        height - 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 specific TreeModel for the JTree
        Parameters:
        model - the model
        Returns:
        the tree model
      • newTreeScrollPane

        protected javax.swing.JScrollPane newTreeScrollPane()
        Factory method for creating the new JScrollPane. This method is invoked in the constructor from the derived classes and can be overridden so users can provide their own version of a JScrollPane
        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 class io.github.astrapi69.swing.base.BasePanel<T>
      • onInitializeLayout

        protected void onInitializeLayout()
        Overrides:
        onInitializeLayout in class io.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()
        The JScrollPane for the decorated JTree.
      • getTree

        public javax.swing.JTree getTree()
        The decorated JTree.