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:
FlatStylingSupport.StyleableUI
,FlatTitlePane.TitleBarCaptionHitTest
,javax.swing.SwingConstants
- Direct Known Subclasses:
FlatThemePreviewAll.PreviewFlatTabbedPaneUI
public class FlatTabbedPaneUI extends javax.swing.plaf.basic.BasicTabbedPaneUI implements FlatStylingSupport.StyleableUI, FlatTitlePane.TitleBarCaptionHitTest
Provides the Flat LaF UI delegate forJTabbedPane
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
FlatTabbedPaneUI.ContainerUIResource
protected class
FlatTabbedPaneUI.FlatMoreTabsButton
protected class
FlatTabbedPaneUI.FlatScrollableTabButton
private static class
FlatTabbedPaneUI.FlatSelectedTabRepainter
protected class
FlatTabbedPaneUI.FlatTabAreaButton
protected class
FlatTabbedPaneUI.FlatTabbedPaneLayout
Layout manager for wrap tab layout policy (and base class for scroll tab layout policy).protected class
FlatTabbedPaneUI.FlatTabbedPaneScrollLayout
Layout manager used for scroll tab layout policy.protected class
FlatTabbedPaneUI.FlatWheelTabScroller
private class
FlatTabbedPaneUI.Handler
private static class
FlatTabbedPaneUI.RunWithOriginalLayoutManagerDelegateAction
private static class
FlatTabbedPaneUI.TabCloseButton
-
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.lang.String
arrowType
protected static int
AS_NEEDED
protected static int
AS_NEEDED_SINGLE
protected static int
AUTO
private boolean
blockRollover
protected static int
BOTH
protected int
buttonArc
protected java.awt.Color
buttonHoverBackground
protected java.awt.Insets
buttonInsets
protected java.awt.Color
buttonPressedBackground
protected int
cardTabArc
protected int
cardTabSelectionHeight
protected javax.swing.Icon
closeIcon
private boolean
closeIconShared
protected java.awt.Color
contentAreaColor
protected int
contentSeparatorHeight
protected java.awt.Color
disabledForeground
protected java.awt.Color
disabledUnderlineColor
protected static int
FILL
private static java.util.Set<javax.swing.KeyStroke>
focusBackwardTraversalKeys
protected java.awt.Color
focusColor
protected java.awt.Color
focusForeground
private static java.util.Set<javax.swing.KeyStroke>
focusForwardTraversalKeys
protected java.awt.Color
foreground
private FlatTabbedPaneUI.Handler
handler
protected boolean
hasFullBorder
protected boolean
hideTabAreaWithOneTab
protected java.awt.Color
hoverColor
protected java.awt.Color
hoverForeground
protected java.awt.Color
inactiveUnderlineColor
private boolean
inBasicLayoutContainer
private boolean
inCalculateEqual
private java.awt.Container
leadingComponent
protected int
maximumTabWidth
protected int
minimumTabWidth
private javax.swing.JButton
moreTabsButton
protected java.lang.String
moreTabsButtonToolTipText
protected static int
NEVER
protected static int
NONE
private java.lang.Object[]
oldRenderingHints
private java.util.Map<java.lang.String,java.lang.Object>
oldStyleValues
private boolean
pressedTabClose
private boolean
repaintRolloverPending
private boolean
rolloverTabClose
protected boolean
rotateTabRuns
private java.awt.Dimension
scrollBackwardButtonPrefSize
private int
scrollButtonsPlacement
private int
scrollButtonsPolicy
protected java.awt.Color
selectedBackground
protected java.awt.Color
selectedForeground
protected java.awt.Insets
selectedInsets
protected boolean
showContentSeparator
protected boolean
showTabSeparators
protected static int
TAB_TYPE_CARD
protected static int
TAB_TYPE_UNDERLINED
private int
tabAlignment
protected int
tabArc
private int
tabAreaAlignment
protected boolean
tabClosable
private javax.swing.JButton
tabCloseButton
protected java.lang.String
tabCloseToolTipText
protected int
tabHeight
protected int
tabIconPlacement
private int
tabRotation
protected int
tabSelectionArc
protected int
tabSelectionHeight
protected java.awt.Insets
tabSelectionInsets
protected java.awt.Color
tabSeparatorColor
protected boolean
tabSeparatorsFullHeight
protected boolean
tabsOpaque
private int
tabsPopupPolicy
private int
tabType
protected javax.swing.JViewport
tabViewport
private int
tabWidthMode
private int
textIconGapUnscaled
private java.awt.Container
trailingComponent
protected java.awt.Color
underlineColor
protected FlatTabbedPaneUI.FlatWheelTabScroller
wheelTabScroller
protected static int
WIDTH_MODE_COMPACT
protected static int
WIDTH_MODE_EQUAL
protected static int
WIDTH_MODE_PREFERRED
-
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 private static java.lang.String
alignmentToString(int value, java.lang.String defaultValue)
protected void
applyStyle(java.lang.Object style)
protected java.lang.Object
applyStyleProperty(java.lang.String key, java.lang.Object value)
protected int
calculateMaxTabHeight(int tabPlacement)
protected int
calculateMaxTabWidth(int tabPlacement)
protected int
calculateTabAreaHeight(int tabPlacement, int horizRunCount, int maxTabHeight)
protected int
calculateTabAreaWidth(int tabPlacement, int vertRunCount, int maxTabWidth)
protected int
calculateTabHeight(int tabPlacement, int tabIndex, int fontHeight)
private int
calculateTabHeightImpl(int tabPlacement, int tabIndex, int fontHeight, boolean rotated)
protected int
calculateTabWidth(int tabPlacement, int tabIndex, java.awt.FontMetrics metrics)
private int
calculateTabWidthImpl(int tabPlacement, int tabIndex, java.awt.FontMetrics metrics, boolean rotated)
protected void
closeTab(int tabIndex)
protected java.awt.Shape
createCardTabInnerPath(int tabPlacement, int x, int y, int w, int h)
protected java.awt.Shape
createCardTabOuterPath(int tabPlacement, int x, int y, int w, int h)
protected javax.swing.event.ChangeListener
createChangeListener()
protected java.awt.event.FocusListener
createFocusListener()
protected java.awt.LayoutManager
createLayoutManager()
protected javax.swing.JButton
createMoreTabsButton()
protected java.awt.event.MouseListener
createMouseListener()
protected java.beans.PropertyChangeListener
createPropertyChangeListener()
protected javax.swing.JButton
createScrollButton(int direction)
protected java.awt.LayoutManager
createScrollLayoutManager(javax.swing.plaf.basic.BasicTabbedPaneUI.TabbedPaneLayout delegate)
static javax.swing.plaf.ComponentUI
createUI(javax.swing.JComponent c)
protected FlatTabbedPaneUI.FlatWheelTabScroller
createWheelTabScroller()
protected void
ensureCurrentLayout()
protected void
ensureSelectedTabIsVisible()
protected void
ensureSelectedTabIsVisibleLater()
protected java.awt.Insets
getContentBorderInsets(int tabPlacement)
The content border insets are used to create a separator between tabs and content.private FlatTabbedPaneUI.Handler
getHandler()
private int
getLeadingPreferredHeight()
private int
getLeadingPreferredWidth()
protected java.awt.Insets
getRealTabAreaInsets(int tabPlacement)
protected int
getRealTabRotation(int tabPlacement)
protected int
getScrollButtonsPlacement()
protected int
getScrollButtonsPolicy()
protected java.awt.Insets
getSelectedTabPadInsets(int tabPlacement)
java.util.Map<java.lang.String,java.lang.Class<?>>
getStyleableInfos(javax.swing.JComponent c)
java.lang.Object
getStyleableValue(javax.swing.JComponent c, java.lang.String key)
protected int
getTabAlignment(int tabIndex)
protected int
getTabAreaAlignment()
protected java.awt.Insets
getTabAreaInsets(int tabPlacement)
protected java.awt.Color
getTabBackground(int tabPlacement, int tabIndex, boolean isSelected)
protected java.awt.Rectangle
getTabBounds(int tabIndex, java.awt.Rectangle dest)
protected java.lang.Object
getTabClientProperty(int tabIndex, java.lang.String key)
protected int
getTabClientPropertyInt(int tabIndex, java.lang.String key, int defaultValue)
protected java.awt.Rectangle
getTabCloseBounds(int tabIndex, int x, int y, int w, int h, java.awt.Rectangle dest)
protected java.awt.Rectangle
getTabCloseHitArea(int tabIndex)
protected java.awt.Color
getTabForeground(int tabPlacement, int tabIndex, boolean isSelected)
protected java.awt.Insets
getTabInsets(int tabPlacement, int tabIndex)
protected java.awt.Insets
getTabInsetsRotated(int tabPlacement, int tabIndex, int rotation)
protected int
getTabLabelShiftX(int tabPlacement, int tabIndex, boolean isSelected)
protected int
getTabLabelShiftY(int tabPlacement, int tabIndex, boolean isSelected)
protected int
getTabRotation()
protected int
getTabsPopupPolicy()
protected int
getTabType()
protected int
getTabWidthMode()
private int
getTrailingPreferredHeight()
private int
getTrailingPreferredWidth()
protected boolean
hideTabArea()
protected void
installComponents()
protected void
installDefaults()
protected void
installHiddenTabsNavigation()
protected void
installKeyboardActions()
protected void
installLeadingComponent()
protected void
installListeners()
protected void
installStyle()
protected void
installTrailingComponent()
void
installUI(javax.swing.JComponent c)
private boolean
isHorizontalOrRotated(int tabPlacement)
Returnstrue
if tab placement is top/bottom and text is painted horizontally or if tab placement is left/right and text is painted vertically (rotated).protected boolean
isHorizontalTabPlacement(int tabPlacement)
private boolean
isLastInRun(int tabIndex)
private boolean
isLeftToRight()
protected boolean
isPressedTabClose()
protected boolean
isRolloverTabClose()
private boolean
isScrollTabLayout()
protected boolean
isSmoothScrollingEnabled()
protected boolean
isTabbedPaneOrChildFocused()
protected boolean
isTabClosable(int tabIndex)
java.lang.Boolean
isTitleBarCaptionAt(int x, int y)
Invoked for a component that is enabled and has mouse listeners, to check whether it processes mouse input at the given x/y location.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)
private java.lang.String
layoutVerticalCompoundLabel(int rotation, javax.swing.JComponent c, java.awt.FontMetrics fm, java.lang.String text, javax.swing.Icon icon, int verticalAlignment, int horizontalAlignment, int verticalTextPosition, int horizontalTextPosition, java.awt.Rectangle viewR, java.awt.Rectangle iconR, java.awt.Rectangle textR, int textIconGap)
void
paint(java.awt.Graphics g, javax.swing.JComponent c)
protected void
paintCardTabBorder(java.awt.Graphics g, int tabPlacement, int tabIndex, int x, int y, int w, int h)
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 - painting active tab border styleprotected 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
paintIcon(java.awt.Graphics g, int tabPlacement, int tabIndex, javax.swing.Icon icon, java.awt.Rectangle iconRect, boolean isSelected)
protected void
paintTab(java.awt.Graphics g, int tabPlacement, java.awt.Rectangle[] rects, int tabIndex, java.awt.Rectangle iconRect, java.awt.Rectangle textRect)
protected void
paintTabArea(java.awt.Graphics g, int tabPlacement, int selectedIndex)
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
paintTabCloseButton(java.awt.Graphics g, int tabIndex, int x, int y, int w, int h)
protected void
paintTabSelection(java.awt.Graphics g, int tabPlacement, int tabIndex, 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 static int
parseAlignment(java.lang.String str, int defaultValue)
protected static int
parseScrollButtonsPlacement(java.lang.String str)
protected static int
parseScrollButtonsPolicy(java.lang.String str)
protected static int
parseTabIconPlacement(java.lang.String str)
protected static int
parseTabRotation(java.lang.String str)
protected static int
parseTabsPopupPolicy(java.lang.String str)
protected static int
parseTabType(java.lang.String str)
protected static int
parseTabWidthMode(java.lang.String str)
private int
rectsTotalHeight()
private int
rectsTotalWidth(boolean leftToRight)
private void
repaintRolloverLaterOnce(int oldIndex)
Repaint rollover tab, but deferred and only once.private void
repaintTab(int tabIndex)
private java.awt.geom.AffineTransform
rotateGraphics(java.awt.Graphics g, int tabPlacement, java.awt.Rectangle r)
private void
rotateLeft(java.awt.Rectangle viewR, java.awt.Rectangle r)
private void
rotateRight(java.awt.Rectangle viewR, java.awt.Rectangle r)
private void
runWithOriginalLayoutManager(java.lang.Runnable runnable)
protected void
setPressedTabClose(boolean pressed)
protected void
setRolloverTab(int index)
protected void
setRolloverTab(int x, int y)
protected void
setRolloverTabClose(boolean rollover)
private void
shiftTabs(int sx, int sy)
protected boolean
shouldRotateTabRuns(int tabPlacement)
private void
stretchTabsHeight(int sh)
private void
stretchTabsWidth(int sw, boolean leftToRight)
int
tabForCoordinate(javax.swing.JTabbedPane pane, int x, int y)
protected void
uninstallComponents()
protected void
uninstallDefaults()
protected void
uninstallHiddenTabsNavigation()
protected void
uninstallLeadingComponent()
protected void
uninstallListeners()
protected void
uninstallTrailingComponent()
void
update(java.awt.Graphics g, javax.swing.JComponent c)
-
Methods inherited from class javax.swing.plaf.basic.BasicTabbedPaneUI
assureRectsCreated, expandTabRunsArray, getBaseline, getBaseline, getBaselineOffset, getBaselineResizeBehavior, getFocusIndex, getFontMetrics, getIconForTab, getMaximumSize, getMinimumSize, getNextTabIndex, getNextTabIndexInRun, getNextTabRun, getPreviousTabIndex, getPreviousTabIndexInRun, getPreviousTabRun, getRolloverTab, getRunForTab, getTabBounds, getTabRunCount, getTabRunIndent, getTabRunOffset, getTabRunOverlay, getTextViewForTab, getVisibleComponent, lastTabInRun, layoutLabel, navigateSelectedTab, paintContentBorderBottomEdge, paintContentBorderLeftEdge, paintContentBorderRightEdge, paintContentBorderTopEdge, rotateInsets, selectAdjacentRunTab, selectNextTab, selectNextTabInRun, selectPreviousTab, selectPreviousTabInRun, setVisibleComponent, shouldPadTabRun, uninstallKeyboardActions, uninstallUI
-
-
-
-
Field Detail
-
TAB_TYPE_UNDERLINED
protected static final int TAB_TYPE_UNDERLINED
- Since:
- 2
- See Also:
- Constant Field Values
-
TAB_TYPE_CARD
protected static final int TAB_TYPE_CARD
- Since:
- 2
- See Also:
- Constant Field Values
-
NEVER
protected static final int NEVER
- See Also:
- Constant Field Values
-
AS_NEEDED
protected static final int AS_NEEDED
- See Also:
- Constant Field Values
-
AS_NEEDED_SINGLE
protected static final int AS_NEEDED_SINGLE
- See Also:
- Constant Field Values
-
BOTH
protected static final int BOTH
- See Also:
- Constant Field Values
-
FILL
protected static final int FILL
- See Also:
- Constant Field Values
-
WIDTH_MODE_PREFERRED
protected static final int WIDTH_MODE_PREFERRED
- See Also:
- Constant Field Values
-
WIDTH_MODE_EQUAL
protected static final int WIDTH_MODE_EQUAL
- See Also:
- Constant Field Values
-
WIDTH_MODE_COMPACT
protected static final int WIDTH_MODE_COMPACT
- See Also:
- Constant Field Values
-
NONE
protected static final int NONE
- Since:
- 3.3
- See Also:
- Constant Field Values
-
AUTO
protected static final int AUTO
- Since:
- 3.3
- See Also:
- Constant Field Values
-
focusForwardTraversalKeys
private static java.util.Set<javax.swing.KeyStroke> focusForwardTraversalKeys
-
focusBackwardTraversalKeys
private static java.util.Set<javax.swing.KeyStroke> focusBackwardTraversalKeys
-
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
-
inactiveUnderlineColor
protected java.awt.Color inactiveUnderlineColor
- Since:
- 2.2
-
disabledUnderlineColor
protected java.awt.Color disabledUnderlineColor
-
hoverColor
protected java.awt.Color hoverColor
-
hoverForeground
protected java.awt.Color hoverForeground
- Since:
- 3.1
-
focusColor
protected java.awt.Color focusColor
-
focusForeground
protected java.awt.Color focusForeground
- Since:
- 3.1
-
tabSeparatorColor
protected java.awt.Color tabSeparatorColor
-
contentAreaColor
protected java.awt.Color contentAreaColor
-
textIconGapUnscaled
private int textIconGapUnscaled
-
minimumTabWidth
protected int minimumTabWidth
-
maximumTabWidth
protected int maximumTabWidth
-
tabHeight
protected int tabHeight
-
tabSelectionHeight
protected int tabSelectionHeight
-
cardTabSelectionHeight
protected int cardTabSelectionHeight
- Since:
- 2
-
tabArc
protected int tabArc
- Since:
- 3.2
-
tabSelectionArc
protected int tabSelectionArc
- Since:
- 3.2
-
cardTabArc
protected int cardTabArc
- Since:
- 3.2
-
selectedInsets
protected java.awt.Insets selectedInsets
- Since:
- 3.2
-
tabSelectionInsets
protected java.awt.Insets tabSelectionInsets
- Since:
- 3.2
-
contentSeparatorHeight
protected int contentSeparatorHeight
-
showTabSeparators
protected boolean showTabSeparators
-
tabSeparatorsFullHeight
protected boolean tabSeparatorsFullHeight
-
hasFullBorder
protected boolean hasFullBorder
-
tabsOpaque
protected boolean tabsOpaque
-
rotateTabRuns
protected boolean rotateTabRuns
- Since:
- 2.5
-
tabType
private int tabType
-
tabsPopupPolicy
private int tabsPopupPolicy
-
scrollButtonsPolicy
private int scrollButtonsPolicy
-
scrollButtonsPlacement
private int scrollButtonsPlacement
-
tabAreaAlignment
private int tabAreaAlignment
-
tabAlignment
private int tabAlignment
-
tabWidthMode
private int tabWidthMode
-
tabRotation
private int tabRotation
- Since:
- 3.3
-
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
-
tabCloseToolTipText
protected java.lang.String tabCloseToolTipText
- Since:
- 2
-
showContentSeparator
protected boolean showContentSeparator
- Since:
- 2
-
hideTabAreaWithOneTab
protected boolean hideTabAreaWithOneTab
- Since:
- 2
-
tabClosable
protected boolean tabClosable
- Since:
- 2
-
tabIconPlacement
protected int tabIconPlacement
- Since:
- 2
-
tabViewport
protected javax.swing.JViewport tabViewport
-
wheelTabScroller
protected FlatTabbedPaneUI.FlatWheelTabScroller wheelTabScroller
-
tabCloseButton
private javax.swing.JButton tabCloseButton
-
moreTabsButton
private javax.swing.JButton moreTabsButton
-
leadingComponent
private java.awt.Container leadingComponent
-
trailingComponent
private java.awt.Container trailingComponent
-
scrollBackwardButtonPrefSize
private java.awt.Dimension scrollBackwardButtonPrefSize
-
handler
private FlatTabbedPaneUI.Handler handler
-
blockRollover
private boolean blockRollover
-
rolloverTabClose
private boolean rolloverTabClose
-
pressedTabClose
private boolean pressedTabClose
-
inBasicLayoutContainer
private boolean inBasicLayoutContainer
-
oldRenderingHints
private java.lang.Object[] oldRenderingHints
-
oldStyleValues
private java.util.Map<java.lang.String,java.lang.Object> oldStyleValues
-
closeIconShared
private boolean closeIconShared
-
repaintRolloverPending
private boolean repaintRolloverPending
-
inCalculateEqual
private boolean inCalculateEqual
-
-
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 classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
installDefaults
protected void installDefaults()
- Overrides:
installDefaults
in classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
uninstallDefaults
protected void uninstallDefaults()
- Overrides:
uninstallDefaults
in classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
installComponents
protected void installComponents()
- Overrides:
installComponents
in classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
uninstallComponents
protected void uninstallComponents()
- Overrides:
uninstallComponents
in classjavax.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 classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
uninstallListeners
protected void uninstallListeners()
- Overrides:
uninstallListeners
in classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
installKeyboardActions
protected void installKeyboardActions()
- Overrides:
installKeyboardActions
in classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
getHandler
private FlatTabbedPaneUI.Handler getHandler()
-
createWheelTabScroller
protected FlatTabbedPaneUI.FlatWheelTabScroller createWheelTabScroller()
-
createMouseListener
protected java.awt.event.MouseListener createMouseListener()
- Overrides:
createMouseListener
in classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
createPropertyChangeListener
protected java.beans.PropertyChangeListener createPropertyChangeListener()
- Overrides:
createPropertyChangeListener
in classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
createChangeListener
protected javax.swing.event.ChangeListener createChangeListener()
- Overrides:
createChangeListener
in classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
createFocusListener
protected java.awt.event.FocusListener createFocusListener()
- Overrides:
createFocusListener
in classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
createLayoutManager
protected java.awt.LayoutManager createLayoutManager()
- Overrides:
createLayoutManager
in classjavax.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 classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
installStyle
protected void installStyle()
- Since:
- 2
-
applyStyle
protected void applyStyle(java.lang.Object style)
- Since:
- 2
-
applyStyleProperty
protected java.lang.Object applyStyleProperty(java.lang.String key, java.lang.Object value)
- Since:
- 2
-
getStyleableInfos
public java.util.Map<java.lang.String,java.lang.Class<?>> getStyleableInfos(javax.swing.JComponent c)
- Specified by:
getStyleableInfos
in interfaceFlatStylingSupport.StyleableUI
- Since:
- 2
-
getStyleableValue
public java.lang.Object getStyleableValue(javax.swing.JComponent c, java.lang.String key)
- Specified by:
getStyleableValue
in interfaceFlatStylingSupport.StyleableUI
- Since:
- 2.5
-
setRolloverTab
protected void setRolloverTab(int x, int y)
-
setRolloverTab
protected void setRolloverTab(int index)
- Overrides:
setRolloverTab
in classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
repaintRolloverLaterOnce
private void repaintRolloverLaterOnce(int oldIndex)
Repaint rollover tab, but deferred and only once. This is to avoid unnecessary repaints in case of temporary changes to rollover tab. E.g. when moving mouse over a single tab, a re-layout may occur and set rollover tab to -1, in BasicTabbedPaneUI.TabbedPaneLayout.layoutContainer() and BasicTabbedPaneUI.TabbedPaneScrollLayout.layoutContainer(), and subsequently change rollover tab back to previous value.
-
isRolloverTabClose
protected boolean isRolloverTabClose()
-
setRolloverTabClose
protected void setRolloverTabClose(boolean rollover)
-
isPressedTabClose
protected boolean isPressedTabClose()
-
setPressedTabClose
protected void setPressedTabClose(boolean pressed)
-
repaintTab
private void repaintTab(int tabIndex)
-
calculateTabWidth
protected int calculateTabWidth(int tabPlacement, int tabIndex, java.awt.FontMetrics metrics)
- Overrides:
calculateTabWidth
in classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
calculateTabWidthImpl
private int calculateTabWidthImpl(int tabPlacement, int tabIndex, java.awt.FontMetrics metrics, boolean rotated)
-
calculateTabHeight
protected int calculateTabHeight(int tabPlacement, int tabIndex, int fontHeight)
- Overrides:
calculateTabHeight
in classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
calculateTabHeightImpl
private int calculateTabHeightImpl(int tabPlacement, int tabIndex, int fontHeight, boolean rotated)
-
calculateMaxTabWidth
protected int calculateMaxTabWidth(int tabPlacement)
- Overrides:
calculateMaxTabWidth
in classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
calculateMaxTabHeight
protected int calculateMaxTabHeight(int tabPlacement)
- Overrides:
calculateMaxTabHeight
in classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
calculateTabAreaWidth
protected int calculateTabAreaWidth(int tabPlacement, int vertRunCount, int maxTabWidth)
- Overrides:
calculateTabAreaWidth
in classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
calculateTabAreaHeight
protected int calculateTabAreaHeight(int tabPlacement, int horizRunCount, int maxTabHeight)
- Overrides:
calculateTabAreaHeight
in classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
getTabInsets
protected java.awt.Insets getTabInsets(int tabPlacement, int tabIndex)
- Overrides:
getTabInsets
in classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
getTabInsetsRotated
protected java.awt.Insets getTabInsetsRotated(int tabPlacement, int tabIndex, int rotation)
- Since:
- 3.3
-
getSelectedTabPadInsets
protected java.awt.Insets getSelectedTabPadInsets(int tabPlacement)
- Overrides:
getSelectedTabPadInsets
in classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
getRealTabAreaInsets
protected java.awt.Insets getRealTabAreaInsets(int tabPlacement)
-
getTabAreaInsets
protected java.awt.Insets getTabAreaInsets(int tabPlacement)
- Overrides:
getTabAreaInsets
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
-
paint
public void paint(java.awt.Graphics g, javax.swing.JComponent c)
- Overrides:
paint
in classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
paintTabArea
protected void paintTabArea(java.awt.Graphics g, int tabPlacement, int selectedIndex)
- Overrides:
paintTabArea
in classjavax.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 classjavax.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 classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
paintIcon
protected void paintIcon(java.awt.Graphics g, int tabPlacement, int tabIndex, javax.swing.Icon icon, java.awt.Rectangle iconRect, boolean isSelected)
- Overrides:
paintIcon
in classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
rotateGraphics
private java.awt.geom.AffineTransform rotateGraphics(java.awt.Graphics g, int tabPlacement, java.awt.Rectangle r)
-
getTabForeground
protected java.awt.Color getTabForeground(int tabPlacement, int tabIndex, boolean isSelected)
- Since:
- 3.1
-
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
-
getTabBackground
protected java.awt.Color getTabBackground(int tabPlacement, int tabIndex, boolean isSelected)
- Since:
- 2
-
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
-
paintCardTabBorder
protected void paintCardTabBorder(java.awt.Graphics g, int tabPlacement, int tabIndex, int x, int y, int w, int h)
- Since:
- 2
-
createCardTabOuterPath
protected java.awt.Shape createCardTabOuterPath(int tabPlacement, int x, int y, int w, int h)
- Since:
- 3.2
-
createCardTabInnerPath
protected java.awt.Shape createCardTabInnerPath(int tabPlacement, int x, int y, int w, int h)
- Since:
- 3.2
-
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 tabIndex, int x, int y, int w, int h)
-
isTabbedPaneOrChildFocused
protected boolean isTabbedPaneOrChildFocused()
- Since:
- 2.2
-
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 - painting active tab border style- 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
-
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)
-
layoutVerticalCompoundLabel
private java.lang.String layoutVerticalCompoundLabel(int rotation, javax.swing.JComponent c, java.awt.FontMetrics fm, java.lang.String text, javax.swing.Icon icon, int verticalAlignment, int horizontalAlignment, int verticalTextPosition, int horizontalTextPosition, java.awt.Rectangle viewR, java.awt.Rectangle iconR, java.awt.Rectangle textR, int textIconGap)
-
rotateLeft
private void rotateLeft(java.awt.Rectangle viewR, java.awt.Rectangle r)
-
rotateRight
private void rotateRight(java.awt.Rectangle viewR, java.awt.Rectangle r)
-
getRealTabRotation
protected int getRealTabRotation(int tabPlacement)
- Since:
- 3.3
-
tabForCoordinate
public int tabForCoordinate(javax.swing.JTabbedPane pane, int x, int y)
- Overrides:
tabForCoordinate
in classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
getTabBounds
protected java.awt.Rectangle getTabBounds(int tabIndex, java.awt.Rectangle dest)
- Overrides:
getTabBounds
in classjavax.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()
-
shouldRotateTabRuns
protected boolean shouldRotateTabRuns(int tabPlacement)
- Overrides:
shouldRotateTabRuns
in classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
isLastInRun
private boolean isLastInRun(int tabIndex)
-
isScrollTabLayout
private boolean isScrollTabLayout()
-
isLeftToRight
private boolean isLeftToRight()
-
isHorizontalTabPlacement
protected boolean isHorizontalTabPlacement(int tabPlacement)
- Since:
- 3.3
-
isHorizontalOrRotated
private boolean isHorizontalOrRotated(int tabPlacement)
Returnstrue
if tab placement is top/bottom and text is painted horizontally or if tab placement is left/right and text is painted vertically (rotated).
-
isSmoothScrollingEnabled
protected boolean isSmoothScrollingEnabled()
-
hideTabArea
protected boolean hideTabArea()
-
getTabType
protected int getTabType()
- Since:
- 2
-
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()
-
getTabRotation
protected int getTabRotation()
- Since:
- 3.3
-
parseTabType
protected static int parseTabType(java.lang.String str)
- Since:
- 2
-
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)
-
alignmentToString
private static java.lang.String alignmentToString(int value, java.lang.String defaultValue)
-
parseTabWidthMode
protected static int parseTabWidthMode(java.lang.String str)
-
parseTabRotation
protected static int parseTabRotation(java.lang.String str)
- Since:
- 3.3
-
parseTabIconPlacement
protected static int parseTabIconPlacement(java.lang.String str)
-
runWithOriginalLayoutManager
private void runWithOriginalLayoutManager(java.lang.Runnable runnable)
-
ensureSelectedTabIsVisibleLater
protected void ensureSelectedTabIsVisibleLater()
-
ensureSelectedTabIsVisible
protected void ensureSelectedTabIsVisible()
-
getLeadingPreferredWidth
private int getLeadingPreferredWidth()
-
getLeadingPreferredHeight
private int getLeadingPreferredHeight()
-
getTrailingPreferredWidth
private int getTrailingPreferredWidth()
-
getTrailingPreferredHeight
private int getTrailingPreferredHeight()
-
shiftTabs
private void shiftTabs(int sx, int sy)
-
stretchTabsWidth
private void stretchTabsWidth(int sw, boolean leftToRight)
-
stretchTabsHeight
private void stretchTabsHeight(int sh)
-
rectsTotalWidth
private int rectsTotalWidth(boolean leftToRight)
-
rectsTotalHeight
private int rectsTotalHeight()
-
isTitleBarCaptionAt
public java.lang.Boolean isTitleBarCaptionAt(int x, int y)
Description copied from interface:FlatTitlePane.TitleBarCaptionHitTest
Invoked for a component that is enabled and has mouse listeners, to check whether it processes mouse input at the given x/y location. Useful for components that do not use mouse input on whole component bounds. E.g. a tabbed pane with a few tabs has some empty space beside the tabs that can be used to move the window.- Specified by:
isTitleBarCaptionAt
in interfaceFlatTitlePane.TitleBarCaptionHitTest
- Returns:
true
if the component is not interested in mouse input at the given locationfalse
if the component wants process mouse input at the given locationnull
if the component children should be checked- Since:
- 3.4
-
-