Module java.desktop

Class BasicSplitPaneUI

    • Field Detail

      • NON_CONTINUOUS_DIVIDER

        protected static final String NON_CONTINUOUS_DIVIDER
        The divider used for non-continuous layout is added to the split pane with this object.
        See Also:
        Constant Field Values
      • KEYBOARD_DIVIDER_MOVE_OFFSET

        protected static int KEYBOARD_DIVIDER_MOVE_OFFSET
        How far (relative) the divider does move when it is moved around by the cursor keys on the keyboard.
      • splitPane

        protected JSplitPane splitPane
        JSplitPane instance this instance is providing the look and feel for.
      • propertyChangeListener

        protected PropertyChangeListener propertyChangeListener
        Instance of the PropertyChangeListener for this JSplitPane.
      • focusListener

        protected FocusListener focusListener
        Instance of the FocusListener for this JSplitPane.
      • dividerSize

        protected int dividerSize
        The size of the divider while the dragging session is valid.
      • nonContinuousLayoutDivider

        protected Component nonContinuousLayoutDivider
        Instance for the shadow of the divider when non continuous layout is being used.
      • draggingHW

        protected boolean draggingHW
        Set to true in startDragging if any of the children (not including the nonContinuousLayoutDivider) are heavy weights.
      • beginDragDividerLocation

        protected int beginDragDividerLocation
        Location of the divider when the dragging session began.
      • upKey

        @Deprecated
        protected KeyStroke upKey
        Deprecated. As of Java 2 platform v1.3.
        As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.
      • downKey

        @Deprecated
        protected KeyStroke downKey
        Deprecated. As of Java 2 platform v1.3.
        As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.
      • leftKey

        @Deprecated
        protected KeyStroke leftKey
        Deprecated. As of Java 2 platform v1.3.
        As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.
      • rightKey

        @Deprecated
        protected KeyStroke rightKey
        Deprecated. As of Java 2 platform v1.3.
        As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.
      • homeKey

        @Deprecated
        protected KeyStroke homeKey
        Deprecated. As of Java 2 platform v1.3.
        As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.
      • endKey

        @Deprecated
        protected KeyStroke endKey
        Deprecated. As of Java 2 platform v1.3.
        As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.
      • dividerResizeToggleKey

        @Deprecated
        protected KeyStroke dividerResizeToggleKey
        Deprecated. As of Java 2 platform v1.3.
        As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.
      • keyboardUpLeftListener

        @Deprecated
        protected ActionListener keyboardUpLeftListener
        Deprecated. As of Java 2 platform v1.3.
        As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.
      • keyboardDownRightListener

        @Deprecated
        protected ActionListener keyboardDownRightListener
        Deprecated. As of Java 2 platform v1.3.
        As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.
      • keyboardHomeListener

        @Deprecated
        protected ActionListener keyboardHomeListener
        Deprecated. As of Java 2 platform v1.3.
        As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.
      • keyboardEndListener

        @Deprecated
        protected ActionListener keyboardEndListener
        Deprecated. As of Java 2 platform v1.3.
        As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.
      • keyboardResizeToggleListener

        @Deprecated
        protected ActionListener keyboardResizeToggleListener
        Deprecated. As of Java 2 platform v1.3.
        As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.
    • Constructor Detail

      • BasicSplitPaneUI

        public BasicSplitPaneUI​()
    • Method Detail

      • createUI

        public static ComponentUI createUI​(JComponent x)
        Creates a new instance of BasicSplitPaneUI.
        Parameters:
        x - a component
        Returns:
        a new instance of BasicSplitPaneUI
      • installDefaults

        protected void installDefaults​()
        Installs the UI defaults.
      • installListeners

        protected void installListeners​()
        Installs the event listeners for the UI.
      • installKeyboardActions

        protected void installKeyboardActions​()
        Installs the keyboard actions for the UI.
      • uninstallDefaults

        protected void uninstallDefaults​()
        Uninstalls the UI defaults.
      • uninstallListeners

        protected void uninstallListeners​()
        Uninstalls the event listeners for the UI.
      • uninstallKeyboardActions

        protected void uninstallKeyboardActions​()
        Uninstalls the keyboard actions for the UI.
      • createPropertyChangeListener

        protected PropertyChangeListener createPropertyChangeListener​()
        Creates a PropertyChangeListener for the JSplitPane UI.
        Returns:
        an instance of PropertyChangeListener
      • createFocusListener

        protected FocusListener createFocusListener​()
        Creates a FocusListener for the JSplitPane UI.
        Returns:
        an instance of FocusListener
      • createKeyboardUpLeftListener

        @Deprecated
        protected ActionListener createKeyboardUpLeftListener​()
        Deprecated. As of Java 2 platform v1.3.
        As of Java 2 platform v1.3 this method is no longer used. Subclassers previously using this method should instead create an Action wrapping the ActionListener, and register that Action by overriding installKeyboardActions and placing the Action in the SplitPane's ActionMap. Please refer to the key bindings specification for further details.

        Creates an ActionListener for the JSplitPane UI that listens for specific key presses.

        Returns:
        an instance of ActionListener
      • createKeyboardDownRightListener

        @Deprecated
        protected ActionListener createKeyboardDownRightListener​()
        Deprecated. As of Java 2 platform v1.3.
        As of Java 2 platform v1.3 this method is no longer used. Subclassers previously using this method should instead create an Action wrapping the ActionListener, and register that Action by overriding installKeyboardActions and placing the Action in the SplitPane's ActionMap. Please refer to the key bindings specification for further details.

        Creates an ActionListener for the JSplitPane UI that listens for specific key presses.

        Returns:
        an instance of ActionListener
      • createKeyboardHomeListener

        @Deprecated
        protected ActionListener createKeyboardHomeListener​()
        Deprecated. As of Java 2 platform v1.3.
        As of Java 2 platform v1.3 this method is no longer used. Subclassers previously using this method should instead create an Action wrapping the ActionListener, and register that Action by overriding installKeyboardActions and placing the Action in the SplitPane's ActionMap. Please refer to the key bindings specification for further details.

        Creates an ActionListener for the JSplitPane UI that listens for specific key presses.

        Returns:
        an instance of ActionListener
      • createKeyboardEndListener

        @Deprecated
        protected ActionListener createKeyboardEndListener​()
        Deprecated. As of Java 2 platform v1.3.
        As of Java 2 platform v1.3 this method is no longer used. Subclassers previously using this method should instead create an Action wrapping the ActionListener, and register that Action by overriding installKeyboardActions and placing the Action in the SplitPane's ActionMap. Please refer to the key bindings specification for further details.

        Creates an ActionListener for the JSplitPane UI that listens for specific key presses.

        Returns:
        an instance of ActionListener
      • createKeyboardResizeToggleListener

        @Deprecated
        protected ActionListener createKeyboardResizeToggleListener​()
        Deprecated. As of Java 2 platform v1.3.
        As of Java 2 platform v1.3 this method is no longer used. Subclassers previously using this method should instead create an Action wrapping the ActionListener, and register that Action by overriding installKeyboardActions and placing the Action in the SplitPane's ActionMap. Please refer to the key bindings specification for further details.

        Creates an ActionListener for the JSplitPane UI that listens for specific key presses.

        Returns:
        an instance of ActionListener
      • getOrientation

        public int getOrientation​()
        Returns the orientation for the JSplitPane.
        Returns:
        the orientation
      • setOrientation

        public void setOrientation​(int orientation)
        Set the orientation for the JSplitPane.
        Parameters:
        orientation - the orientation
      • isContinuousLayout

        public boolean isContinuousLayout​()
        Determines whether the JSplitPane is set to use a continuous layout.
        Returns:
        true if a continuous layout is set
      • setContinuousLayout

        public void setContinuousLayout​(boolean b)
        Turn continuous layout on/off.
        Parameters:
        b - if true the continuous layout turns on
      • getLastDragLocation

        public int getLastDragLocation​()
        Returns the last drag location of the JSplitPane.
        Returns:
        the last drag location
      • setLastDragLocation

        public void setLastDragLocation​(int l)
        Set the last drag location of the JSplitPane.
        Parameters:
        l - the drag location
      • getDivider

        public BasicSplitPaneDivider getDivider​()
        Returns the divider between the top Components.
        Returns:
        the divider between the top Components
      • createDefaultNonContinuousLayoutDivider

        protected Component createDefaultNonContinuousLayoutDivider​()
        Returns the default non continuous layout divider, which is an instance of Canvas that fills in the background with dark gray.
        Returns:
        the default non continuous layout divider
      • setNonContinuousLayoutDivider

        protected void setNonContinuousLayoutDivider​(Component newDivider)
        Sets the divider to use when the JSplitPane is configured to not continuously layout. This divider will only be used during a dragging session. It is recommended that the passed in component be a heavy weight.
        Parameters:
        newDivider - the new divider
      • setNonContinuousLayoutDivider

        protected void setNonContinuousLayoutDivider​(Component newDivider,
                                                     boolean rememberSizes)
        Sets the divider to use.
        Parameters:
        newDivider - the new divider
        rememberSizes - if true the pane size is remembered
      • getNonContinuousLayoutDivider

        public Component getNonContinuousLayoutDivider​()
        Returns the divider to use when the JSplitPane is configured to not continuously layout. This divider will only be used during a dragging session.
        Returns:
        the divider
      • getSplitPane

        public JSplitPane getSplitPane​()
        Returns the JSplitPane this instance is currently contained in.
        Returns:
        the instance of JSplitPane
      • createDefaultDivider

        public BasicSplitPaneDivider createDefaultDivider​()
        Creates the default divider.
        Returns:
        the default divider
      • setDividerLocation

        public void setDividerLocation​(JSplitPane jc,
                                       int location)
        Sets the location of the divider to location.
        Specified by:
        setDividerLocation in class SplitPaneUI
        Parameters:
        jc - a JSplitPane
        location - an integer specifying the location of the divider
      • getDividerLocation

        public int getDividerLocation​(JSplitPane jc)
        Returns the location of the divider, which may differ from what the splitpane thinks the location of the divider is.
        Specified by:
        getDividerLocation in class SplitPaneUI
        Parameters:
        jc - a JSplitPane
        Returns:
        an integer specifying the location of the divider
      • getMinimumDividerLocation

        public int getMinimumDividerLocation​(JSplitPane jc)
        Gets the minimum location of the divider.
        Specified by:
        getMinimumDividerLocation in class SplitPaneUI
        Parameters:
        jc - a JSplitPane
        Returns:
        and integer specifying the minimum location of the divider
      • getMaximumDividerLocation

        public int getMaximumDividerLocation​(JSplitPane jc)
        Gets the maximum location of the divider.
        Specified by:
        getMaximumDividerLocation in class SplitPaneUI
        Parameters:
        jc - a JSplitPane
        Returns:
        an integer specifying the maximum location of the divider
      • finishedPaintingChildren

        public void finishedPaintingChildren​(JSplitPane sp,
                                             Graphics g)
        Called when the specified split pane has finished painting its children.
        Specified by:
        finishedPaintingChildren in class SplitPaneUI
        Parameters:
        sp - a JSplitPane
        g - the Graphics context
      • paint

        public void paint​(Graphics g,
                          JComponent jc)
        Paints the specified component appropriately for the look and feel. This method is invoked from the ComponentUI.update method when the specified component is being painted. Subclasses should override this method and use the specified Graphics object to render the content of the component.
        Overrides:
        paint in class ComponentUI
        Parameters:
        g - the Graphics context in which to paint
        jc - the component being painted; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components
        See Also:
        ComponentUI.update(java.awt.Graphics, javax.swing.JComponent)
      • getInsets

        public Insets getInsets​(JComponent jc)
        Returns the insets. The insets are returned from the border insets of the current border.
        Parameters:
        jc - a component
        Returns:
        the insets
      • resetLayoutManager

        protected void resetLayoutManager​()
        Resets the layout manager based on orientation and messages it with invalidateLayout to pull in appropriate Components.
      • startDragging

        protected void startDragging​()
        Should be messaged before the dragging session starts, resets lastDragLocation and dividerSize.
      • dragDividerTo

        protected void dragDividerTo​(int location)
        Messaged during a dragging session to move the divider to the passed in location. If continuousLayout is true the location is reset and the splitPane validated.
        Parameters:
        location - the location of divider
      • finishDraggingTo

        protected void finishDraggingTo​(int location)
        Messaged to finish the dragging session. If not continuous display the dividers location will be reset.
        Parameters:
        location - the location of divider
      • getDividerBorderSize

        @Deprecated
        protected int getDividerBorderSize​()
        Deprecated. As of Java 2 platform v1.3, instead set the border on the divider.
        As of Java 2 platform v1.3 this method is no longer used. Instead you should set the border on the divider.

        Returns the width of one side of the divider border.

        Returns:
        the width of one side of the divider border