Package com.formdev.flatlaf.ui
Class FlatTabbedPaneUI
- java.lang.Object
-
- javax.swing.plaf.ComponentUI
-
- javax.swing.plaf.TabbedPaneUI
-
- javax.swing.plaf.basic.BasicTabbedPaneUI
-
- com.formdev.flatlaf.ui.FlatTabbedPaneUI
-
- All Implemented Interfaces:
javax.swing.SwingConstants
public class FlatTabbedPaneUI extends javax.swing.plaf.basic.BasicTabbedPaneUI
Provides the Flat LaF UI delegate forJTabbedPane
.- 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
-
-
Constructor Summary
Constructors Constructor Description FlatTabbedPaneUI()
-
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 selectionprotected 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
-
-
-
-
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
-
-
Method Detail
-
createUI
public static javax.swing.plaf.ComponentUI createUI(javax.swing.JComponent c)
-
installDefaults
protected void installDefaults()
- Overrides:
installDefaults
in classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
uninstallDefaults
protected void uninstallDefaults()
- Overrides:
uninstallDefaults
in classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
createPropertyChangeListener
protected java.beans.PropertyChangeListener createPropertyChangeListener()
- Overrides:
createPropertyChangeListener
in classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
createScrollButton
protected javax.swing.JButton createScrollButton(int direction)
- Overrides:
createScrollButton
in classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
setRolloverTab
protected void setRolloverTab(int index)
- Overrides:
setRolloverTab
in classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
calculateTabWidth
protected int calculateTabWidth(int tabPlacement, int tabIndex, java.awt.FontMetrics metrics)
- Overrides:
calculateTabWidth
in classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
calculateTabHeight
protected int calculateTabHeight(int tabPlacement, int tabIndex, int fontHeight)
- Overrides:
calculateTabHeight
in classjavax.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 classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
getTabLabelShiftX
protected int getTabLabelShiftX(int tabPlacement, int tabIndex, boolean isSelected)
- Overrides:
getTabLabelShiftX
in classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
getTabLabelShiftY
protected int getTabLabelShiftY(int tabPlacement, int tabIndex, boolean isSelected)
- Overrides:
getTabLabelShiftY
in classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
update
public void update(java.awt.Graphics g, javax.swing.JComponent c)
- Overrides:
update
in classjavax.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 classjavax.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 classjavax.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 classjavax.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 classjavax.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 classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
-