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, 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 , Component.arrowType String triangle (default) or chevron, 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.tabHeight int, TabbedPane.tabSelectionHeight int, TabbedPane.contentSeparatorHeight int, TabbedPane.showTabSeparators boolean, TabbedPane.tabSeparatorsFullHeight boolean, TabbedPane.hasFullBorder boolean
    ClientProperty:
    JTabbedPane.showTabSeparators boolean, JTabbedPane.hasFullBorder boolean
    • Nested Class Summary

      • Nested classes/interfaces inherited from class javax.swing.plaf.basic.BasicTabbedPaneUI

        javax.swing.plaf.basic.BasicTabbedPaneUI.FocusHandler, javax.swing.plaf.basic.BasicTabbedPaneUI.MouseHandler, javax.swing.plaf.basic.BasicTabbedPaneUI.PropertyChangeHandler, javax.swing.plaf.basic.BasicTabbedPaneUI.TabbedPaneLayout, javax.swing.plaf.basic.BasicTabbedPaneUI.TabSelectionHandler
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.awt.Color contentAreaColor  
      protected int contentSeparatorHeight  
      protected java.awt.Color disabledForeground  
      protected java.awt.Color disabledUnderlineColor  
      protected java.awt.Color focusColor  
      protected boolean hasFullBorder  
      protected java.awt.Color hoverColor  
      protected java.awt.Color selectedBackground  
      protected java.awt.Color selectedForeground  
      protected boolean showTabSeparators  
      protected int tabHeight  
      protected int tabSelectionHeight  
      protected java.awt.Color tabSeparatorColor  
      protected boolean tabSeparatorsFullHeight  
      protected boolean tabsOverlapBorder  
      protected java.awt.Color underlineColor  
      • Fields inherited from class javax.swing.plaf.basic.BasicTabbedPaneUI

        calcRect, contentBorderInsets, darkShadow, downKey, focus, focusListener, highlight, leftKey, lightHighlight, maxTabHeight, maxTabWidth, mouseListener, propertyChangeListener, rects, rightKey, runCount, selectedRun, selectedTabPadInsets, shadow, tabAreaInsets, tabChangeListener, tabInsets, tabPane, tabRunOverlay, tabRuns, textIconGap, upKey
      • Fields inherited from interface javax.swing.SwingConstants

        BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected int calculateTabHeight​(int tabPlacement, int tabIndex, int fontHeight)  
      protected int calculateTabWidth​(int tabPlacement, int tabIndex, java.awt.FontMetrics metrics)  
      protected java.beans.PropertyChangeListener createPropertyChangeListener()  
      protected javax.swing.JButton createScrollButton​(int direction)  
      static javax.swing.plaf.ComponentUI createUI​(javax.swing.JComponent c)  
      protected java.awt.Insets getContentBorderInsets​(int tabPlacement)
      The content border insets are used to create a separator between tabs and content.
      protected int getTabLabelShiftX​(int tabPlacement, int tabIndex, boolean isSelected)  
      protected int getTabLabelShiftY​(int tabPlacement, int tabIndex, boolean isSelected)  
      protected void installDefaults()  
      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 - not invoking paintContentBorder*Edge() methods - repaint selection
      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)  
      protected void paintTabBackground​(java.awt.Graphics g, int tabPlacement, int tabIndex, int x, int y, int w, int h, boolean isSelected)  
      protected void paintTabBorder​(java.awt.Graphics g, int tabPlacement, int tabIndex, int x, int y, int w, int h, boolean isSelected)  
      protected void paintTabSelection​(java.awt.Graphics g, int tabPlacement, int x, int y, int w, int h)  
      protected void paintTabSeparator​(java.awt.Graphics g, int tabPlacement, int x, int y, int w, int h)  
      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)  
      protected void setRolloverTab​(int index)  
      protected void uninstallDefaults()  
      void update​(java.awt.Graphics g, javax.swing.JComponent c)  
      • Methods inherited from class javax.swing.plaf.basic.BasicTabbedPaneUI

        assureRectsCreated, calculateMaxTabHeight, calculateMaxTabWidth, calculateTabAreaHeight, calculateTabAreaWidth, createChangeListener, createFocusListener, createLayoutManager, createMouseListener, expandTabRunsArray, getBaseline, getBaseline, getBaselineOffset, getBaselineResizeBehavior, getFocusIndex, getFontMetrics, getIconForTab, getMaximumSize, getMinimumSize, getNextTabIndex, getNextTabIndexInRun, getNextTabRun, getPreviousTabIndex, getPreviousTabIndexInRun, getPreviousTabRun, getRolloverTab, getRunForTab, getSelectedTabPadInsets, getTabAreaInsets, getTabBounds, getTabBounds, getTabInsets, getTabRunCount, getTabRunIndent, getTabRunOffset, getTabRunOverlay, getTextViewForTab, getVisibleComponent, installComponents, installKeyboardActions, installListeners, installUI, lastTabInRun, layoutLabel, navigateSelectedTab, paint, paintContentBorderBottomEdge, paintContentBorderLeftEdge, paintContentBorderRightEdge, paintContentBorderTopEdge, paintIcon, paintTab, paintTabArea, rotateInsets, selectAdjacentRunTab, selectNextTab, selectNextTabInRun, selectPreviousTab, selectPreviousTabInRun, setVisibleComponent, shouldPadTabRun, shouldRotateTabRuns, tabForCoordinate, uninstallComponents, uninstallKeyboardActions, uninstallListeners, uninstallUI
      • Methods inherited from class javax.swing.plaf.ComponentUI

        contains, getAccessibleChild, getAccessibleChildrenCount, getPreferredSize
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • 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
      • tabHeight

        protected int tabHeight
      • tabSelectionHeight

        protected int tabSelectionHeight
      • contentSeparatorHeight

        protected int contentSeparatorHeight
      • showTabSeparators

        protected boolean showTabSeparators
      • tabSeparatorsFullHeight

        protected boolean tabSeparatorsFullHeight
      • hasFullBorder

        protected boolean hasFullBorder
      • tabsOverlapBorder

        protected boolean tabsOverlapBorder
    • Constructor Detail

      • FlatTabbedPaneUI

        public FlatTabbedPaneUI()
    • Method Detail

      • createUI

        public static javax.swing.plaf.ComponentUI createUI​(javax.swing.JComponent c)
      • 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
      • createPropertyChangeListener

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

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

        protected void setRolloverTab​(int index)
        Overrides:
        setRolloverTab in class javax.swing.plaf.basic.BasicTabbedPaneUI
      • 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
      • 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
      • 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
      • 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 - 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