Module java.desktop

Class BasicTabbedPaneUI

    • Field Detail

      • highlight

        protected Color highlight
        Highlight color
      • lightHighlight

        protected Color lightHighlight
        Light highlight color
      • shadow

        protected Color shadow
        Shadow color
      • darkShadow

        protected Color darkShadow
        Dark shadow color
      • focus

        protected Color focus
        Focus color
      • textIconGap

        protected int textIconGap
        Text icon gap
      • tabRunOverlay

        protected int tabRunOverlay
        Tab run overlay
      • tabInsets

        protected Insets tabInsets
        Tab insets
      • selectedTabPadInsets

        protected Insets selectedTabPadInsets
        Selected tab insets
      • tabAreaInsets

        protected Insets tabAreaInsets
        Tab area insets
      • contentBorderInsets

        protected Insets contentBorderInsets
        Content border insets
      • 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.
      • tabRuns

        protected int[] tabRuns
        Tab runs
      • runCount

        protected int runCount
        Run count
      • selectedRun

        protected int selectedRun
        Selected run
      • rects

        protected Rectangle[] rects
        Tab rects
      • maxTabHeight

        protected int maxTabHeight
        Maximum tab height
      • maxTabWidth

        protected int maxTabWidth
        Maximum tab width
      • tabChangeListener

        protected ChangeListener tabChangeListener
        Tab change listener
      • mouseListener

        protected MouseListener mouseListener
        Mouse change listener
      • focusListener

        protected FocusListener focusListener
        Focus change listener
      • calcRect

        protected transient Rectangle calcRect
        A rectangle used for general layout calculations in order to avoid constructing many new Rectangles on the fly.
    • Constructor Detail

      • BasicTabbedPaneUI

        public BasicTabbedPaneUI()
    • Method Detail

      • createUI

        public static ComponentUI createUI​(JComponent c)
        Create a UI.
        Parameters:
        c - a component
        Returns:
        a UI
      • installComponents

        protected void installComponents()
        Creates and installs any required subcomponents for the JTabbedPane. Invoked by installUI.
        Since:
        1.4
      • createScrollButton

        protected JButton createScrollButton​(int direction)
        Creates and returns a JButton that will provide the user with a way to scroll the tabs in a particular direction. The returned JButton must be instance of UIResource.
        Parameters:
        direction - One of the SwingConstants constants: SOUTH, NORTH, EAST or WEST
        Returns:
        Widget for user to
        Throws:
        IllegalArgumentException - if direction is not one of NORTH, SOUTH, EAST or WEST
        Since:
        1.5
        See Also:
        JTabbedPane.setTabPlacement(int), SwingConstants
      • uninstallComponents

        protected void uninstallComponents()
        Removes any installed subcomponents from the JTabbedPane. Invoked by uninstallUI.
        Since:
        1.4
      • installDefaults

        protected void installDefaults()
        Install the defaults.
      • uninstallDefaults

        protected void uninstallDefaults()
        Uninstall the defaults.
      • installListeners

        protected void installListeners()
        Install the listeners.
      • uninstallListeners

        protected void uninstallListeners()
        Uninstall the listeners.
      • createMouseListener

        protected MouseListener createMouseListener()
        Creates a mouse listener.
        Returns:
        a mouse listener
      • createFocusListener

        protected FocusListener createFocusListener()
        Creates a focus listener.
        Returns:
        a focus listener
      • createChangeListener

        protected ChangeListener createChangeListener()
        Creates a change listener.
        Returns:
        a change listener
      • createPropertyChangeListener

        protected PropertyChangeListener createPropertyChangeListener()
        Creates a property change listener.
        Returns:
        a property change listener
      • installKeyboardActions

        protected void installKeyboardActions()
        Installs the keyboard actions.
      • uninstallKeyboardActions

        protected void uninstallKeyboardActions()
        Uninstalls the keyboard actions.
      • setRolloverTab

        protected void setRolloverTab​(int index)
        Sets the tab the mouse is currently over to index. index will be -1 if the mouse is no longer over any tab. No checking is done to ensure the passed in index identifies a valid tab.
        Parameters:
        index - Index of the tab the mouse is over.
        Since:
        1.5
      • getRolloverTab

        protected int getRolloverTab()
        Returns the tab the mouse is currently over, or -1 if the mouse is no longer over any tab.
        Returns:
        the tab the mouse is currently over, or -1 if the mouse is no longer over any tab
        Since:
        1.5
      • getBaseline

        protected int getBaseline​(int tab)
        Returns the baseline for the specified tab.
        Parameters:
        tab - index of tab to get baseline for
        Returns:
        baseline or a value < 0 indicating there is no reasonable baseline
        Throws:
        IndexOutOfBoundsException - if index is out of range (index < 0 || index >= tab count)
        Since:
        1.6
      • getBaselineOffset

        protected int getBaselineOffset()
        Returns the amount the baseline is offset by. This is typically the same as getTabLabelShiftY.
        Returns:
        amount to offset the baseline by
        Since:
        1.6
      • paintTabArea

        protected void paintTabArea​(Graphics g,
                                    int tabPlacement,
                                    int selectedIndex)
        Paints the tabs in the tab area. Invoked by paint(). The graphics parameter must be a valid Graphics object. Tab placement may be either: JTabbedPane.TOP, JTabbedPane.BOTTOM, JTabbedPane.LEFT, or JTabbedPane.RIGHT. The selected index must be a valid tabbed pane tab index (0 to tab count - 1, inclusive) or -1 if no tab is currently selected. The handling of invalid parameters is unspecified.
        Parameters:
        g - the graphics object to use for rendering
        tabPlacement - the placement for the tabs within the JTabbedPane
        selectedIndex - the tab index of the selected component
        Since:
        1.4
      • paintTab

        protected void paintTab​(Graphics g,
                                int tabPlacement,
                                Rectangle[] rects,
                                int tabIndex,
                                Rectangle iconRect,
                                Rectangle textRect)
        Paints a tab.
        Parameters:
        g - the graphics
        tabPlacement - the tab placement
        rects - rectangles
        tabIndex - the tab index
        iconRect - the icon rectangle
        textRect - the text rectangle
      • layoutLabel

        protected void layoutLabel​(int tabPlacement,
                                   FontMetrics metrics,
                                   int tabIndex,
                                   String title,
                                   Icon icon,
                                   Rectangle tabRect,
                                   Rectangle iconRect,
                                   Rectangle textRect,
                                   boolean isSelected)
        Laysout a label.
        Parameters:
        tabPlacement - the tab placement
        metrics - the font metric
        tabIndex - the tab index
        title - the title
        icon - the icon
        tabRect - the tab rectangle
        iconRect - the icon rectangle
        textRect - the text rectangle
        isSelected - selection status
      • paintIcon

        protected void paintIcon​(Graphics g,
                                 int tabPlacement,
                                 int tabIndex,
                                 Icon icon,
                                 Rectangle iconRect,
                                 boolean isSelected)
        Paints an icon.
        Parameters:
        g - the graphics
        tabPlacement - the tab placement
        tabIndex - the tab index
        icon - the icon
        iconRect - the icon rectangle
        isSelected - selection status
      • paintText

        protected void paintText​(Graphics g,
                                 int tabPlacement,
                                 Font font,
                                 FontMetrics metrics,
                                 int tabIndex,
                                 String title,
                                 Rectangle textRect,
                                 boolean isSelected)
        Paints text.
        Parameters:
        g - the graphics
        tabPlacement - the tab placement
        font - the font
        metrics - the font metrics
        tabIndex - the tab index
        title - the title
        textRect - the text rectangle
        isSelected - selection status
      • getTabLabelShiftX

        protected int getTabLabelShiftX​(int tabPlacement,
                                        int tabIndex,
                                        boolean isSelected)
        Returns the tab label shift x.
        Parameters:
        tabPlacement - the tab placement
        tabIndex - the tab index
        isSelected - selection status
        Returns:
        the tab label shift x
      • getTabLabelShiftY

        protected int getTabLabelShiftY​(int tabPlacement,
                                        int tabIndex,
                                        boolean isSelected)
        Returns the tab label shift y.
        Parameters:
        tabPlacement - the tab placement
        tabIndex - the tab index
        isSelected - selection status
        Returns:
        the tab label shift y
      • paintFocusIndicator

        protected void paintFocusIndicator​(Graphics g,
                                           int tabPlacement,
                                           Rectangle[] rects,
                                           int tabIndex,
                                           Rectangle iconRect,
                                           Rectangle textRect,
                                           boolean isSelected)
        Paints the focus indicator.
        Parameters:
        g - the graphics
        tabPlacement - the tab placement
        rects - rectangles
        tabIndex - the tab index
        iconRect - the icon rectangle
        textRect - the text rectangle
        isSelected - selection status
      • paintTabBorder

        protected void paintTabBorder​(Graphics g,
                                      int tabPlacement,
                                      int tabIndex,
                                      int x,
                                      int y,
                                      int w,
                                      int h,
                                      boolean isSelected)
        this function draws the border around each tab note that this function does now draw the background of the tab. that is done elsewhere
        Parameters:
        g - the graphics context in which to paint
        tabPlacement - the placement (left, right, bottom, top) of the tab
        tabIndex - the index of the tab with respect to other tabs
        x - the x coordinate of tab
        y - the y coordinate of tab
        w - the width of the tab
        h - the height of the tab
        isSelected - a boolean which determines whether or not the tab is selected
      • paintTabBackground

        protected void paintTabBackground​(Graphics g,
                                          int tabPlacement,
                                          int tabIndex,
                                          int x,
                                          int y,
                                          int w,
                                          int h,
                                          boolean isSelected)
        Paints the tab background.
        Parameters:
        g - the graphics context in which to paint
        tabPlacement - the placement (left, right, bottom, top) of the tab
        tabIndex - the index of the tab with respect to other tabs
        x - the x coordinate of tab
        y - the y coordinate of tab
        w - the width of the tab
        h - the height of the tab
        isSelected - a boolean which determines whether or not the tab is selected
      • paintContentBorder

        protected void paintContentBorder​(Graphics g,
                                          int tabPlacement,
                                          int selectedIndex)
        Paints the content border.
        Parameters:
        g - the graphics context in which to paint
        tabPlacement - the placement (left, right, bottom, top) of the tab
        selectedIndex - the tab index of the selected component
      • paintContentBorderTopEdge

        protected void paintContentBorderTopEdge​(Graphics g,
                                                 int tabPlacement,
                                                 int selectedIndex,
                                                 int x,
                                                 int y,
                                                 int w,
                                                 int h)
        Paints the content border top edge.
        Parameters:
        g - the graphics context in which to paint
        tabPlacement - the placement (left, right, bottom, top) of the tab
        selectedIndex - the tab index of the selected component
        x - the x coordinate of tab
        y - the y coordinate of tab
        w - the width of the tab
        h - the height of the tab
      • paintContentBorderLeftEdge

        protected void paintContentBorderLeftEdge​(Graphics g,
                                                  int tabPlacement,
                                                  int selectedIndex,
                                                  int x,
                                                  int y,
                                                  int w,
                                                  int h)
        Paints the content border left edge.
        Parameters:
        g - the graphics context in which to paint
        tabPlacement - the placement (left, right, bottom, top) of the tab
        selectedIndex - the tab index of the selected component
        x - the x coordinate of tab
        y - the y coordinate of tab
        w - the width of the tab
        h - the height of the tab
      • paintContentBorderBottomEdge

        protected void paintContentBorderBottomEdge​(Graphics g,
                                                    int tabPlacement,
                                                    int selectedIndex,
                                                    int x,
                                                    int y,
                                                    int w,
                                                    int h)
        Paints the content border bottom edge.
        Parameters:
        g - the graphics context in which to paint
        tabPlacement - the placement (left, right, bottom, top) of the tab
        selectedIndex - the tab index of the selected component
        x - the x coordinate of tab
        y - the y coordinate of tab
        w - the width of the tab
        h - the height of the tab
      • paintContentBorderRightEdge

        protected void paintContentBorderRightEdge​(Graphics g,
                                                   int tabPlacement,
                                                   int selectedIndex,
                                                   int x,
                                                   int y,
                                                   int w,
                                                   int h)
        Paints the content border right edge.
        Parameters:
        g - the graphics context in which to paint
        tabPlacement - the placement (left, right, bottom, top) of the tab
        selectedIndex - the tab index of the selected component
        x - the x coordinate of tab
        y - the y coordinate of tab
        w - the width of the tab
        h - the height of the tab
      • getTabBounds

        public Rectangle getTabBounds​(JTabbedPane pane,
                                      int i)
        Returns the bounds of the specified tab index. The bounds are with respect to the JTabbedPane's coordinate space.
        Specified by:
        getTabBounds in class TabbedPaneUI
        Parameters:
        pane - the pane
        i - the index
        Returns:
        the rectangle for the tab bounds
      • tabForCoordinate

        public int tabForCoordinate​(JTabbedPane pane,
                                    int x,
                                    int y)
        Returns the tab index which intersects the specified point in the JTabbedPane's coordinate space.
        Specified by:
        tabForCoordinate in class TabbedPaneUI
        Parameters:
        pane - the pane
        x - the x coordinate
        y - the y coordinate
        Returns:
        the tab for the coordinate
      • getTabBounds

        protected Rectangle getTabBounds​(int tabIndex,
                                         Rectangle dest)
        Returns the bounds of the specified tab in the coordinate space of the JTabbedPane component. This is required because the tab rects are by default defined in the coordinate space of the component where they are rendered, which could be the JTabbedPane (for WRAP_TAB_LAYOUT) or a ScrollableTabPanel (SCROLL_TAB_LAYOUT). This method should be used whenever the tab rectangle must be relative to the JTabbedPane itself and the result should be placed in a designated Rectangle object (rather than instantiating and returning a new Rectangle each time). The tab index parameter must be a valid tabbed pane tab index (0 to tab count - 1, inclusive). The destination rectangle parameter must be a valid Rectangle instance. The handling of invalid parameters is unspecified.
        Parameters:
        tabIndex - the index of the tab
        dest - the rectangle where the result should be placed
        Returns:
        the resulting rectangle
        Since:
        1.4
      • getVisibleComponent

        protected Component getVisibleComponent()
        Returns the visible component.
        Returns:
        the visible component
      • setVisibleComponent

        protected void setVisibleComponent​(Component component)
        Sets the visible component.
        Parameters:
        component - the component
      • assureRectsCreated

        protected void assureRectsCreated​(int tabCount)
        Assure the rectangles are created.
        Parameters:
        tabCount - the tab count
      • expandTabRunsArray

        protected void expandTabRunsArray()
        Expands the tab runs array.
      • getRunForTab

        protected int getRunForTab​(int tabCount,
                                   int tabIndex)
        Returns the run for a tab.
        Parameters:
        tabCount - the tab count
        tabIndex - the tab index.
        Returns:
        the run for a tab
      • lastTabInRun

        protected int lastTabInRun​(int tabCount,
                                   int run)
        Returns the last tab in a run.
        Parameters:
        tabCount - the tab count
        run - the run
        Returns:
        the last tab in a run
      • getTabRunOverlay

        protected int getTabRunOverlay​(int tabPlacement)
        Returns the tab run overlay.
        Parameters:
        tabPlacement - the placement (left, right, bottom, top) of the tab
        Returns:
        the tab run overlay
      • getTabRunIndent

        protected int getTabRunIndent​(int tabPlacement,
                                      int run)
        Returns the tab run indent.
        Parameters:
        tabPlacement - the placement (left, right, bottom, top) of the tab
        run - the tab run
        Returns:
        the tab run indent
      • shouldPadTabRun

        protected boolean shouldPadTabRun​(int tabPlacement,
                                          int run)
        Returns whether or not the tab run should be padded.
        Parameters:
        tabPlacement - the placement (left, right, bottom, top) of the tab
        run - the tab run
        Returns:
        whether or not the tab run should be padded
      • shouldRotateTabRuns

        protected boolean shouldRotateTabRuns​(int tabPlacement)
        Returns whether or not the tab run should be rotated.
        Parameters:
        tabPlacement - the placement (left, right, bottom, top) of the tab
        Returns:
        whether or not the tab run should be rotated
      • getIconForTab

        protected Icon getIconForTab​(int tabIndex)
        Returns the icon for a tab.
        Parameters:
        tabIndex - the index of the tab
        Returns:
        the icon for a tab
      • getTextViewForTab

        protected View getTextViewForTab​(int tabIndex)
        Returns the text View object required to render stylized text (HTML) for the specified tab or null if no specialized text rendering is needed for this tab. This is provided to support html rendering inside tabs.
        Parameters:
        tabIndex - the index of the tab
        Returns:
        the text view to render the tab's text or null if no specialized rendering is required
        Since:
        1.4
      • calculateTabHeight

        protected int calculateTabHeight​(int tabPlacement,
                                         int tabIndex,
                                         int fontHeight)
        Calculates the tab height.
        Parameters:
        tabPlacement - the placement (left, right, bottom, top) of the tab
        tabIndex - the index of the tab with respect to other tabs
        fontHeight - the font height
        Returns:
        the tab height
      • calculateMaxTabHeight

        protected int calculateMaxTabHeight​(int tabPlacement)
        Calculates the maximum tab height.
        Parameters:
        tabPlacement - the placement (left, right, bottom, top) of the tab
        Returns:
        the maximum tab height
      • calculateTabWidth

        protected int calculateTabWidth​(int tabPlacement,
                                        int tabIndex,
                                        FontMetrics metrics)
        Calculates the tab width.
        Parameters:
        tabPlacement - the placement (left, right, bottom, top) of the tab
        tabIndex - the index of the tab with respect to other tabs
        metrics - the font metrics
        Returns:
        the tab width
      • calculateMaxTabWidth

        protected int calculateMaxTabWidth​(int tabPlacement)
        Calculates the maximum tab width.
        Parameters:
        tabPlacement - the placement (left, right, bottom, top) of the tab
        Returns:
        the maximum tab width
      • calculateTabAreaHeight

        protected int calculateTabAreaHeight​(int tabPlacement,
                                             int horizRunCount,
                                             int maxTabHeight)
        Calculates the tab area height.
        Parameters:
        tabPlacement - the placement (left, right, bottom, top) of the tab
        horizRunCount - horizontal run count
        maxTabHeight - maximum tab height
        Returns:
        the tab area height
      • calculateTabAreaWidth

        protected int calculateTabAreaWidth​(int tabPlacement,
                                            int vertRunCount,
                                            int maxTabWidth)
        Calculates the tab area width.
        Parameters:
        tabPlacement - the placement (left, right, bottom, top) of the tab
        vertRunCount - vertical run count
        maxTabWidth - maximum tab width
        Returns:
        the tab area width
      • getTabInsets

        protected Insets getTabInsets​(int tabPlacement,
                                      int tabIndex)
        Returns the tab insets.
        Parameters:
        tabPlacement - the placement (left, right, bottom, top) of the tab
        tabIndex - the tab index
        Returns:
        the tab insets
      • getSelectedTabPadInsets

        protected Insets getSelectedTabPadInsets​(int tabPlacement)
        Returns the selected tab pad insets.
        Parameters:
        tabPlacement - the placement (left, right, bottom, top) of the tab
        Returns:
        the selected tab pad insets
      • getTabAreaInsets

        protected Insets getTabAreaInsets​(int tabPlacement)
        Returns the tab area insets.
        Parameters:
        tabPlacement - the placement (left, right, bottom, top) of the tab
        Returns:
        the pad area insets
      • getContentBorderInsets

        protected Insets getContentBorderInsets​(int tabPlacement)
        Returns the content border insets.
        Parameters:
        tabPlacement - the placement (left, right, bottom, top) of the tab
        Returns:
        the content border insets
      • getFontMetrics

        protected FontMetrics getFontMetrics()
        Returns the font metrics.
        Returns:
        the font metrics
      • navigateSelectedTab

        protected void navigateSelectedTab​(int direction)
        Navigate the selected tab.
        Parameters:
        direction - the direction
      • selectNextTabInRun

        protected void selectNextTabInRun​(int current)
        Select the next tab in the run.
        Parameters:
        current - the current tab
      • selectPreviousTabInRun

        protected void selectPreviousTabInRun​(int current)
        Select the previous tab in the run.
        Parameters:
        current - the current tab
      • selectNextTab

        protected void selectNextTab​(int current)
        Select the next tab.
        Parameters:
        current - the current tab
      • selectPreviousTab

        protected void selectPreviousTab​(int current)
        Select the previous tab.
        Parameters:
        current - the current tab
      • selectAdjacentRunTab

        protected void selectAdjacentRunTab​(int tabPlacement,
                                            int tabIndex,
                                            int offset)
        Selects an adjacent run of tabs.
        Parameters:
        tabPlacement - the placement (left, right, bottom, top) of the tab
        tabIndex - the index of the tab with respect to other tabs
        offset - selection offset
      • getFocusIndex

        protected int getFocusIndex()
        Returns the index of the tab that has focus.
        Returns:
        index of tab that has focus
        Since:
        1.5
      • getTabRunOffset

        protected int getTabRunOffset​(int tabPlacement,
                                      int tabCount,
                                      int tabIndex,
                                      boolean forward)
        Returns the tab run offset.
        Parameters:
        tabPlacement - the placement (left, right, bottom, top) of the tab
        tabCount - the tab count
        tabIndex - the index of the tab with respect to other tabs
        forward - forward or not
        Returns:
        the tab run offset
      • getPreviousTabIndex

        protected int getPreviousTabIndex​(int base)
        Returns the previous tab index.
        Parameters:
        base - the base
        Returns:
        the previous tab index
      • getNextTabIndex

        protected int getNextTabIndex​(int base)
        Returns the next tab index.
        Parameters:
        base - the base
        Returns:
        the next tab index
      • getNextTabIndexInRun

        protected int getNextTabIndexInRun​(int tabCount,
                                           int base)
        Returns the next tab index in the run.
        Parameters:
        tabCount - the tab count
        base - the base
        Returns:
        the next tab index in the run
      • getPreviousTabIndexInRun

        protected int getPreviousTabIndexInRun​(int tabCount,
                                               int base)
        Returns the previous tab index in the run.
        Parameters:
        tabCount - the tab count
        base - the base
        Returns:
        the previous tab index in the run
      • getPreviousTabRun

        protected int getPreviousTabRun​(int baseRun)
        Returns the previous tab run.
        Parameters:
        baseRun - the base run
        Returns:
        the previous tab run
      • getNextTabRun

        protected int getNextTabRun​(int baseRun)
        Returns the next tab run.
        Parameters:
        baseRun - the base run
        Returns:
        the next tab run
      • rotateInsets

        protected static void rotateInsets​(Insets topInsets,
                                           Insets targetInsets,
                                           int targetPlacement)
        Rotates the insets.
        Parameters:
        topInsets - the top insets
        targetInsets - the target insets
        targetPlacement - the target placement