Class FlatTabbedPaneUI

  • All Implemented Interfaces:
    javax.swing.SwingConstants

    public class FlatTabbedPaneUI
    extends javax.swing.plaf.basic.BasicTabbedPaneUI
    Provides the Flat LaF UI delegate for JTabbedPane.
    UiDefault:
    TabbedPane.font Font, TabbedPane.background Color, TabbedPane.foreground Color, TabbedPane.shadow Color used for scroll arrows and cropped line, TabbedPane.textIconGap int, TabbedPane.tabInsets Insets, TabbedPane.selectedTabPadInsets Insets unused, TabbedPane.tabAreaInsets Insets, TabbedPane.tabsOverlapBorder boolean, TabbedPane.tabRunOverlay int, TabbedPane.tabsOpaque boolean, TabbedPane.contentOpaque boolean unused, TabbedPane.opaque boolean, TabbedPane.selectionFollowsFocus boolean default is true , TabbedPane.disabledForeground Color, TabbedPane.selectedBackground Color optional, TabbedPane.selectedForeground Color, TabbedPane.underlineColor Color, TabbedPane.disabledUnderlineColor Color, TabbedPane.hoverColor Color, TabbedPane.focusColor Color, TabbedPane.tabSeparatorColor Color optional; defaults to TabbedPane.contentAreaColor, TabbedPane.contentAreaColor Color, TabbedPane.minimumTabWidth int optional, TabbedPane.maximumTabWidth int optional, TabbedPane.tabHeight int, TabbedPane.tabSelectionHeight int, TabbedPane.contentSeparatorHeight int, TabbedPane.showTabSeparators boolean, TabbedPane.tabSeparatorsFullHeight boolean, TabbedPane.hasFullBorder boolean, TabbedPane.tabLayoutPolicy String wrap (default) or scroll, TabbedPane.tabsPopupPolicy String never or asNeeded (default), TabbedPane.scrollButtonsPolicy String never, asNeeded or asNeededSingle (default), TabbedPane.scrollButtonsPlacement String both (default) or trailing, TabbedPane.tabAreaAlignment String leading (default), center, trailing or fill, TabbedPane.tabAlignment String leading, center (default) or trailing, TabbedPane.tabWidthMode String preferred (default), equal or compact, ScrollPane.smoothScrolling boolean, TabbedPane.closeIcon Icon, TabbedPane.arrowType String chevron (default) or triangle, TabbedPane.buttonInsets Insets, TabbedPane.buttonArc int, TabbedPane.buttonHoverBackground Color, TabbedPane.buttonPressedBackground Color, TabbedPane.moreTabsButtonToolTipText String
    ClientProperty:
    JTabbedPane.showTabSeparators boolean, JTabbedPane.hasFullBorder boolean
    • Field Detail

      • foreground

        protected java.awt.Color foreground
      • disabledForeground

        protected java.awt.Color disabledForeground
      • selectedBackground

        protected java.awt.Color selectedBackground
      • selectedForeground

        protected java.awt.Color selectedForeground
      • underlineColor

        protected java.awt.Color underlineColor
      • disabledUnderlineColor

        protected java.awt.Color disabledUnderlineColor
      • hoverColor

        protected java.awt.Color hoverColor
      • focusColor

        protected java.awt.Color focusColor
      • tabSeparatorColor

        protected java.awt.Color tabSeparatorColor
      • contentAreaColor

        protected java.awt.Color contentAreaColor
      • minimumTabWidth

        protected int minimumTabWidth
      • maximumTabWidth

        protected int maximumTabWidth
      • tabHeight

        protected int tabHeight
      • tabSelectionHeight

        protected int tabSelectionHeight
      • contentSeparatorHeight

        protected int contentSeparatorHeight
      • showTabSeparators

        protected boolean showTabSeparators
      • tabSeparatorsFullHeight

        protected boolean tabSeparatorsFullHeight
      • hasFullBorder

        protected boolean hasFullBorder
      • tabsOpaque

        protected boolean tabsOpaque
      • closeIcon

        protected javax.swing.Icon closeIcon
      • arrowType

        protected java.lang.String arrowType
      • buttonInsets

        protected java.awt.Insets buttonInsets
      • buttonArc

        protected int buttonArc
      • buttonHoverBackground

        protected java.awt.Color buttonHoverBackground
      • buttonPressedBackground

        protected java.awt.Color buttonPressedBackground
      • moreTabsButtonToolTipText

        protected java.lang.String moreTabsButtonToolTipText
      • tabViewport

        protected javax.swing.JViewport tabViewport
    • Constructor Detail

      • FlatTabbedPaneUI

        public FlatTabbedPaneUI()
    • Method Detail

      • createUI

        public static javax.swing.plaf.ComponentUI createUI​(javax.swing.JComponent c)
      • installUI

        public void installUI​(javax.swing.JComponent c)
        Overrides:
        installUI in class javax.swing.plaf.basic.BasicTabbedPaneUI
      • installDefaults

        protected void installDefaults()
        Overrides:
        installDefaults in class javax.swing.plaf.basic.BasicTabbedPaneUI
      • uninstallDefaults

        protected void uninstallDefaults()
        Overrides:
        uninstallDefaults in class javax.swing.plaf.basic.BasicTabbedPaneUI
      • installComponents

        protected void installComponents()
        Overrides:
        installComponents in class javax.swing.plaf.basic.BasicTabbedPaneUI
      • uninstallComponents

        protected void uninstallComponents()
        Overrides:
        uninstallComponents in class javax.swing.plaf.basic.BasicTabbedPaneUI
      • installHiddenTabsNavigation

        protected void installHiddenTabsNavigation()
      • uninstallHiddenTabsNavigation

        protected void uninstallHiddenTabsNavigation()
      • installLeadingComponent

        protected void installLeadingComponent()
      • uninstallLeadingComponent

        protected void uninstallLeadingComponent()
      • installTrailingComponent

        protected void installTrailingComponent()
      • uninstallTrailingComponent

        protected void uninstallTrailingComponent()
      • installListeners

        protected void installListeners()
        Overrides:
        installListeners in class javax.swing.plaf.basic.BasicTabbedPaneUI
      • uninstallListeners

        protected void uninstallListeners()
        Overrides:
        uninstallListeners in class javax.swing.plaf.basic.BasicTabbedPaneUI
      • createMouseListener

        protected java.awt.event.MouseListener createMouseListener()
        Overrides:
        createMouseListener in class javax.swing.plaf.basic.BasicTabbedPaneUI
      • createPropertyChangeListener

        protected java.beans.PropertyChangeListener createPropertyChangeListener()
        Overrides:
        createPropertyChangeListener in class javax.swing.plaf.basic.BasicTabbedPaneUI
      • createChangeListener

        protected javax.swing.event.ChangeListener createChangeListener()
        Overrides:
        createChangeListener in class javax.swing.plaf.basic.BasicTabbedPaneUI
      • createLayoutManager

        protected java.awt.LayoutManager createLayoutManager()
        Overrides:
        createLayoutManager in class javax.swing.plaf.basic.BasicTabbedPaneUI
      • createScrollLayoutManager

        protected java.awt.LayoutManager createScrollLayoutManager​(javax.swing.plaf.basic.BasicTabbedPaneUI.TabbedPaneLayout delegate)
      • createMoreTabsButton

        protected javax.swing.JButton createMoreTabsButton()
      • createScrollButton

        protected javax.swing.JButton createScrollButton​(int direction)
        Overrides:
        createScrollButton in class javax.swing.plaf.basic.BasicTabbedPaneUI
      • setRolloverTab

        protected void setRolloverTab​(int x,
                                      int y)
      • setRolloverTab

        protected void setRolloverTab​(int index)
        Overrides:
        setRolloverTab in class javax.swing.plaf.basic.BasicTabbedPaneUI
      • isRolloverTabClose

        protected boolean isRolloverTabClose()
      • setRolloverTabClose

        protected void setRolloverTabClose​(boolean rollover)
      • isPressedTabClose

        protected boolean isPressedTabClose()
      • setPressedTabClose

        protected void setPressedTabClose​(boolean pressed)
      • calculateTabWidth

        protected int calculateTabWidth​(int tabPlacement,
                                        int tabIndex,
                                        java.awt.FontMetrics metrics)
        Overrides:
        calculateTabWidth in class javax.swing.plaf.basic.BasicTabbedPaneUI
      • calculateTabHeight

        protected int calculateTabHeight​(int tabPlacement,
                                         int tabIndex,
                                         int fontHeight)
        Overrides:
        calculateTabHeight in class javax.swing.plaf.basic.BasicTabbedPaneUI
      • calculateMaxTabWidth

        protected int calculateMaxTabWidth​(int tabPlacement)
        Overrides:
        calculateMaxTabWidth in class javax.swing.plaf.basic.BasicTabbedPaneUI
      • calculateMaxTabHeight

        protected int calculateMaxTabHeight​(int tabPlacement)
        Overrides:
        calculateMaxTabHeight in class javax.swing.plaf.basic.BasicTabbedPaneUI
      • calculateTabAreaWidth

        protected int calculateTabAreaWidth​(int tabPlacement,
                                            int vertRunCount,
                                            int maxTabWidth)
        Overrides:
        calculateTabAreaWidth in class javax.swing.plaf.basic.BasicTabbedPaneUI
      • calculateTabAreaHeight

        protected int calculateTabAreaHeight​(int tabPlacement,
                                             int horizRunCount,
                                             int maxTabHeight)
        Overrides:
        calculateTabAreaHeight in class javax.swing.plaf.basic.BasicTabbedPaneUI
      • getTabInsets

        protected java.awt.Insets getTabInsets​(int tabPlacement,
                                               int tabIndex)
        Overrides:
        getTabInsets in class javax.swing.plaf.basic.BasicTabbedPaneUI
      • getSelectedTabPadInsets

        protected java.awt.Insets getSelectedTabPadInsets​(int tabPlacement)
        Overrides:
        getSelectedTabPadInsets in class javax.swing.plaf.basic.BasicTabbedPaneUI
      • getRealTabAreaInsets

        protected java.awt.Insets getRealTabAreaInsets​(int tabPlacement)
      • getTabAreaInsets

        protected java.awt.Insets getTabAreaInsets​(int tabPlacement)
        Overrides:
        getTabAreaInsets in class javax.swing.plaf.basic.BasicTabbedPaneUI
      • getContentBorderInsets

        protected java.awt.Insets getContentBorderInsets​(int tabPlacement)
        The content border insets are used to create a separator between tabs and content. If client property JTabbedPane.hasFullBorder is true, then the content border insets are also used for the border.
        Overrides:
        getContentBorderInsets in class javax.swing.plaf.basic.BasicTabbedPaneUI
      • getTabLabelShiftX

        protected int getTabLabelShiftX​(int tabPlacement,
                                        int tabIndex,
                                        boolean isSelected)
        Overrides:
        getTabLabelShiftX in class javax.swing.plaf.basic.BasicTabbedPaneUI
      • getTabLabelShiftY

        protected int getTabLabelShiftY​(int tabPlacement,
                                        int tabIndex,
                                        boolean isSelected)
        Overrides:
        getTabLabelShiftY in class javax.swing.plaf.basic.BasicTabbedPaneUI
      • update

        public void update​(java.awt.Graphics g,
                           javax.swing.JComponent c)
        Overrides:
        update in class javax.swing.plaf.ComponentUI
      • paint

        public void paint​(java.awt.Graphics g,
                          javax.swing.JComponent c)
        Overrides:
        paint in class javax.swing.plaf.basic.BasicTabbedPaneUI
      • paintTab

        protected void paintTab​(java.awt.Graphics g,
                                int tabPlacement,
                                java.awt.Rectangle[] rects,
                                int tabIndex,
                                java.awt.Rectangle iconRect,
                                java.awt.Rectangle textRect)
        Overrides:
        paintTab in class javax.swing.plaf.basic.BasicTabbedPaneUI
      • paintText

        protected void paintText​(java.awt.Graphics g,
                                 int tabPlacement,
                                 java.awt.Font font,
                                 java.awt.FontMetrics metrics,
                                 int tabIndex,
                                 java.lang.String title,
                                 java.awt.Rectangle textRect,
                                 boolean isSelected)
        Overrides:
        paintText in class javax.swing.plaf.basic.BasicTabbedPaneUI
      • paintTabBackground

        protected void paintTabBackground​(java.awt.Graphics g,
                                          int tabPlacement,
                                          int tabIndex,
                                          int x,
                                          int y,
                                          int w,
                                          int h,
                                          boolean isSelected)
        Overrides:
        paintTabBackground in class javax.swing.plaf.basic.BasicTabbedPaneUI
      • paintTabBorder

        protected void paintTabBorder​(java.awt.Graphics g,
                                      int tabPlacement,
                                      int tabIndex,
                                      int x,
                                      int y,
                                      int w,
                                      int h,
                                      boolean isSelected)
        Overrides:
        paintTabBorder in class javax.swing.plaf.basic.BasicTabbedPaneUI
      • paintTabCloseButton

        protected void paintTabCloseButton​(java.awt.Graphics g,
                                           int tabIndex,
                                           int x,
                                           int y,
                                           int w,
                                           int h)
      • paintTabSeparator

        protected void paintTabSeparator​(java.awt.Graphics g,
                                         int tabPlacement,
                                         int x,
                                         int y,
                                         int w,
                                         int h)
      • paintTabSelection

        protected void paintTabSelection​(java.awt.Graphics g,
                                         int tabPlacement,
                                         int x,
                                         int y,
                                         int w,
                                         int h)
      • paintContentBorder

        protected void paintContentBorder​(java.awt.Graphics g,
                                          int tabPlacement,
                                          int selectedIndex)
        Actually does nearly the same as super.paintContentBorder() but - not using UIManager.getColor("TabbedPane.contentAreaColor") to be GUI builder friendly - tabsOverlapBorder is always true - paint full border (if enabled) - not invoking paintContentBorder*Edge() methods - repaint selection
        Overrides:
        paintContentBorder in class javax.swing.plaf.basic.BasicTabbedPaneUI
      • paintFocusIndicator

        protected void paintFocusIndicator​(java.awt.Graphics g,
                                           int tabPlacement,
                                           java.awt.Rectangle[] rects,
                                           int tabIndex,
                                           java.awt.Rectangle iconRect,
                                           java.awt.Rectangle textRect,
                                           boolean isSelected)
        Overrides:
        paintFocusIndicator in class javax.swing.plaf.basic.BasicTabbedPaneUI
      • layoutAndClipLabel

        protected java.lang.String layoutAndClipLabel​(int tabPlacement,
                                                      java.awt.FontMetrics metrics,
                                                      int tabIndex,
                                                      java.lang.String title,
                                                      javax.swing.Icon icon,
                                                      java.awt.Rectangle tabRect,
                                                      java.awt.Rectangle iconRect,
                                                      java.awt.Rectangle textRect,
                                                      boolean isSelected)
      • tabForCoordinate

        public int tabForCoordinate​(javax.swing.JTabbedPane pane,
                                    int x,
                                    int y)
        Overrides:
        tabForCoordinate in class javax.swing.plaf.basic.BasicTabbedPaneUI
      • getTabBounds

        protected java.awt.Rectangle getTabBounds​(int tabIndex,
                                                  java.awt.Rectangle dest)
        Overrides:
        getTabBounds in class javax.swing.plaf.basic.BasicTabbedPaneUI
      • getTabCloseBounds

        protected java.awt.Rectangle getTabCloseBounds​(int tabIndex,
                                                       int x,
                                                       int y,
                                                       int w,
                                                       int h,
                                                       java.awt.Rectangle dest)
      • getTabCloseHitArea

        protected java.awt.Rectangle getTabCloseHitArea​(int tabIndex)
      • isTabClosable

        protected boolean isTabClosable​(int tabIndex)
      • closeTab

        protected void closeTab​(int tabIndex)
      • getTabClientProperty

        protected java.lang.Object getTabClientProperty​(int tabIndex,
                                                        java.lang.String key)
      • getTabClientPropertyInt

        protected int getTabClientPropertyInt​(int tabIndex,
                                              java.lang.String key,
                                              int defaultValue)
      • ensureCurrentLayout

        protected void ensureCurrentLayout()
      • isHorizontalTabPlacement

        protected boolean isHorizontalTabPlacement()
      • isSmoothScrollingEnabled

        protected boolean isSmoothScrollingEnabled()
      • hideTabArea

        protected boolean hideTabArea()
      • getTabsPopupPolicy

        protected int getTabsPopupPolicy()
      • getScrollButtonsPolicy

        protected int getScrollButtonsPolicy()
      • getScrollButtonsPlacement

        protected int getScrollButtonsPlacement()
      • getTabAreaAlignment

        protected int getTabAreaAlignment()
      • getTabAlignment

        protected int getTabAlignment​(int tabIndex)
      • getTabWidthMode

        protected int getTabWidthMode()
      • parseTabsPopupPolicy

        protected static int parseTabsPopupPolicy​(java.lang.String str)
      • parseScrollButtonsPolicy

        protected static int parseScrollButtonsPolicy​(java.lang.String str)
      • parseScrollButtonsPlacement

        protected static int parseScrollButtonsPlacement​(java.lang.String str)
      • parseAlignment

        protected static int parseAlignment​(java.lang.String str,
                                            int defaultValue)
      • parseTabWidthMode

        protected static int parseTabWidthMode​(java.lang.String str)
      • ensureSelectedTabIsVisibleLater

        protected void ensureSelectedTabIsVisibleLater()
      • ensureSelectedTabIsVisible

        protected void ensureSelectedTabIsVisible()