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 classFlatTabbedPaneUI.ContainerUIResourceprotected classFlatTabbedPaneUI.FlatMoreTabsButtonprotected classFlatTabbedPaneUI.FlatScrollableTabButtonprivate static classFlatTabbedPaneUI.FlatSelectedTabRepainterprotected classFlatTabbedPaneUI.FlatTabAreaButtonprotected classFlatTabbedPaneUI.FlatTabbedPaneLayoutLayout manager for wrap tab layout policy (and base class for scroll tab layout policy).protected classFlatTabbedPaneUI.FlatTabbedPaneScrollLayoutLayout manager used for scroll tab layout policy.protected classFlatTabbedPaneUI.FlatWheelTabScrollerprivate classFlatTabbedPaneUI.Handlerprivate static classFlatTabbedPaneUI.RunWithOriginalLayoutManagerDelegateActionprivate static classFlatTabbedPaneUI.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.StringarrowTypeprotected static intAS_NEEDEDprotected static intAS_NEEDED_SINGLEprotected static intAUTOprivate booleanblockRolloverprotected static intBOTHprotected intbuttonArcprotected java.awt.ColorbuttonHoverBackgroundprotected java.awt.InsetsbuttonInsetsprotected java.awt.ColorbuttonPressedBackgroundprotected intcardTabArcprotected intcardTabSelectionHeightprotected javax.swing.IconcloseIconprivate booleancloseIconSharedprotected java.awt.ColorcontentAreaColorprotected intcontentSeparatorHeightprotected java.awt.ColordisabledForegroundprotected java.awt.ColordisabledUnderlineColorprotected static intFILLprivate static java.util.Set<javax.swing.KeyStroke>focusBackwardTraversalKeysprotected java.awt.ColorfocusColorprotected java.awt.ColorfocusForegroundprivate static java.util.Set<javax.swing.KeyStroke>focusForwardTraversalKeysprotected java.awt.Colorforegroundprivate FlatTabbedPaneUI.Handlerhandlerprotected booleanhasFullBorderprotected booleanhideTabAreaWithOneTabprotected java.awt.ColorhoverColorprotected java.awt.ColorhoverForegroundprotected java.awt.ColorinactiveUnderlineColorprivate booleaninBasicLayoutContainerprivate booleaninCalculateEqualprivate java.awt.ContainerleadingComponentprotected intmaximumTabWidthprotected intminimumTabWidthprivate javax.swing.JButtonmoreTabsButtonprotected java.lang.StringmoreTabsButtonToolTipTextprotected static intNEVERprotected static intNONEprivate java.lang.Object[]oldRenderingHintsprivate java.util.Map<java.lang.String,java.lang.Object>oldStyleValuesprivate booleanpressedTabCloseprivate booleanrepaintRolloverPendingprivate booleanrolloverTabCloseprotected booleanrotateTabRunsprivate java.awt.DimensionscrollBackwardButtonPrefSizeprivate intscrollButtonsPlacementprivate intscrollButtonsPolicyprotected java.awt.ColorselectedBackgroundprotected java.awt.ColorselectedForegroundprotected java.awt.InsetsselectedInsetsprotected booleanshowContentSeparatorprotected booleanshowTabSeparatorsprotected static intTAB_TYPE_CARDprotected static intTAB_TYPE_UNDERLINEDprivate inttabAlignmentprotected inttabArcprivate inttabAreaAlignmentprotected booleantabClosableprivate javax.swing.JButtontabCloseButtonprotected java.lang.StringtabCloseToolTipTextprotected inttabHeightprotected inttabIconPlacementprivate inttabRotationprotected inttabSelectionArcprotected inttabSelectionHeightprotected java.awt.InsetstabSelectionInsetsprotected java.awt.ColortabSeparatorColorprotected booleantabSeparatorsFullHeightprotected booleantabsOpaqueprivate inttabsPopupPolicyprivate inttabTypeprotected javax.swing.JViewporttabViewportprivate inttabWidthModeprivate inttextIconGapUnscaledprivate java.awt.ContainertrailingComponentprotected java.awt.ColorunderlineColorprotected FlatTabbedPaneUI.FlatWheelTabScrollerwheelTabScrollerprotected static intWIDTH_MODE_COMPACTprotected static intWIDTH_MODE_EQUALprotected static intWIDTH_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.StringalignmentToString(int value, java.lang.String defaultValue)protected voidapplyStyle(java.lang.Object style)protected java.lang.ObjectapplyStyleProperty(java.lang.String key, java.lang.Object value)protected intcalculateMaxTabHeight(int tabPlacement)protected intcalculateMaxTabWidth(int tabPlacement)protected intcalculateTabAreaHeight(int tabPlacement, int horizRunCount, int maxTabHeight)protected intcalculateTabAreaWidth(int tabPlacement, int vertRunCount, int maxTabWidth)protected intcalculateTabHeight(int tabPlacement, int tabIndex, int fontHeight)private intcalculateTabHeightImpl(int tabPlacement, int tabIndex, int fontHeight, boolean rotated)protected intcalculateTabWidth(int tabPlacement, int tabIndex, java.awt.FontMetrics metrics)private intcalculateTabWidthImpl(int tabPlacement, int tabIndex, java.awt.FontMetrics metrics, boolean rotated)protected voidcloseTab(int tabIndex)protected java.awt.ShapecreateCardTabInnerPath(int tabPlacement, int x, int y, int w, int h)protected java.awt.ShapecreateCardTabOuterPath(int tabPlacement, int x, int y, int w, int h)protected javax.swing.event.ChangeListenercreateChangeListener()protected java.awt.event.FocusListenercreateFocusListener()protected java.awt.LayoutManagercreateLayoutManager()protected javax.swing.JButtoncreateMoreTabsButton()protected java.awt.event.MouseListenercreateMouseListener()protected java.beans.PropertyChangeListenercreatePropertyChangeListener()protected javax.swing.JButtoncreateScrollButton(int direction)protected java.awt.LayoutManagercreateScrollLayoutManager(javax.swing.plaf.basic.BasicTabbedPaneUI.TabbedPaneLayout delegate)static javax.swing.plaf.ComponentUIcreateUI(javax.swing.JComponent c)protected FlatTabbedPaneUI.FlatWheelTabScrollercreateWheelTabScroller()protected voidensureCurrentLayout()protected voidensureSelectedTabIsVisible()protected voidensureSelectedTabIsVisibleLater()protected java.awt.InsetsgetContentBorderInsets(int tabPlacement)The content border insets are used to create a separator between tabs and content.private FlatTabbedPaneUI.HandlergetHandler()private intgetLeadingPreferredHeight()private intgetLeadingPreferredWidth()protected java.awt.InsetsgetRealTabAreaInsets(int tabPlacement)protected intgetRealTabRotation(int tabPlacement)protected intgetScrollButtonsPlacement()protected intgetScrollButtonsPolicy()protected java.awt.InsetsgetSelectedTabPadInsets(int tabPlacement)java.util.Map<java.lang.String,java.lang.Class<?>>getStyleableInfos(javax.swing.JComponent c)java.lang.ObjectgetStyleableValue(javax.swing.JComponent c, java.lang.String key)protected intgetTabAlignment(int tabIndex)protected intgetTabAreaAlignment()protected java.awt.InsetsgetTabAreaInsets(int tabPlacement)protected java.awt.ColorgetTabBackground(int tabPlacement, int tabIndex, boolean isSelected)protected java.awt.RectanglegetTabBounds(int tabIndex, java.awt.Rectangle dest)protected java.lang.ObjectgetTabClientProperty(int tabIndex, java.lang.String key)protected intgetTabClientPropertyInt(int tabIndex, java.lang.String key, int defaultValue)protected java.awt.RectanglegetTabCloseBounds(int tabIndex, int x, int y, int w, int h, java.awt.Rectangle dest)protected java.awt.RectanglegetTabCloseHitArea(int tabIndex)protected java.awt.ColorgetTabForeground(int tabPlacement, int tabIndex, boolean isSelected)protected java.awt.InsetsgetTabInsets(int tabPlacement, int tabIndex)protected java.awt.InsetsgetTabInsetsRotated(int tabPlacement, int tabIndex, int rotation)protected intgetTabLabelShiftX(int tabPlacement, int tabIndex, boolean isSelected)protected intgetTabLabelShiftY(int tabPlacement, int tabIndex, boolean isSelected)protected intgetTabRotation()protected intgetTabsPopupPolicy()protected intgetTabType()protected intgetTabWidthMode()private intgetTrailingPreferredHeight()private intgetTrailingPreferredWidth()protected booleanhideTabArea()protected voidinstallComponents()protected voidinstallDefaults()protected voidinstallHiddenTabsNavigation()protected voidinstallKeyboardActions()protected voidinstallLeadingComponent()protected voidinstallListeners()protected voidinstallStyle()protected voidinstallTrailingComponent()voidinstallUI(javax.swing.JComponent c)private booleanisHorizontalOrRotated(int tabPlacement)Returnstrueif tab placement is top/bottom and text is painted horizontally or if tab placement is left/right and text is painted vertically (rotated).protected booleanisHorizontalTabPlacement(int tabPlacement)private booleanisLastInRun(int tabIndex)private booleanisLeftToRight()protected booleanisPressedTabClose()protected booleanisRolloverTabClose()private booleanisScrollTabLayout()protected booleanisSmoothScrollingEnabled()protected booleanisTabbedPaneOrChildFocused()protected booleanisTabClosable(int tabIndex)java.lang.BooleanisTitleBarCaptionAt(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.StringlayoutAndClipLabel(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.StringlayoutVerticalCompoundLabel(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)voidpaint(java.awt.Graphics g, javax.swing.JComponent c)protected voidpaintCardTabBorder(java.awt.Graphics g, int tabPlacement, int tabIndex, int x, int y, int w, int h)protected voidpaintContentBorder(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 voidpaintFocusIndicator(java.awt.Graphics g, int tabPlacement, java.awt.Rectangle[] rects, int tabIndex, java.awt.Rectangle iconRect, java.awt.Rectangle textRect, boolean isSelected)protected voidpaintIcon(java.awt.Graphics g, int tabPlacement, int tabIndex, javax.swing.Icon icon, java.awt.Rectangle iconRect, boolean isSelected)protected voidpaintTab(java.awt.Graphics g, int tabPlacement, java.awt.Rectangle[] rects, int tabIndex, java.awt.Rectangle iconRect, java.awt.Rectangle textRect)protected voidpaintTabArea(java.awt.Graphics g, int tabPlacement, int selectedIndex)protected voidpaintTabBackground(java.awt.Graphics g, int tabPlacement, int tabIndex, int x, int y, int w, int h, boolean isSelected)protected voidpaintTabBorder(java.awt.Graphics g, int tabPlacement, int tabIndex, int x, int y, int w, int h, boolean isSelected)protected voidpaintTabCloseButton(java.awt.Graphics g, int tabIndex, int x, int y, int w, int h)protected voidpaintTabSelection(java.awt.Graphics g, int tabPlacement, int tabIndex, int x, int y, int w, int h)protected voidpaintTabSeparator(java.awt.Graphics g, int tabPlacement, int x, int y, int w, int h)protected voidpaintText(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 intparseAlignment(java.lang.String str, int defaultValue)protected static intparseScrollButtonsPlacement(java.lang.String str)protected static intparseScrollButtonsPolicy(java.lang.String str)protected static intparseTabIconPlacement(java.lang.String str)protected static intparseTabRotation(java.lang.String str)protected static intparseTabsPopupPolicy(java.lang.String str)protected static intparseTabType(java.lang.String str)protected static intparseTabWidthMode(java.lang.String str)private intrectsTotalHeight()private intrectsTotalWidth(boolean leftToRight)private voidrepaintRolloverLaterOnce(int oldIndex)Repaint rollover tab, but deferred and only once.private voidrepaintTab(int tabIndex)private java.awt.geom.AffineTransformrotateGraphics(java.awt.Graphics g, int tabPlacement, java.awt.Rectangle r)private voidrotateLeft(java.awt.Rectangle viewR, java.awt.Rectangle r)private voidrotateRight(java.awt.Rectangle viewR, java.awt.Rectangle r)private voidrunWithOriginalLayoutManager(java.lang.Runnable runnable)protected voidsetPressedTabClose(boolean pressed)protected voidsetRolloverTab(int index)protected voidsetRolloverTab(int x, int y)protected voidsetRolloverTabClose(boolean rollover)private voidshiftTabs(int sx, int sy)protected booleanshouldRotateTabRuns(int tabPlacement)private voidstretchTabsHeight(int sh)private voidstretchTabsWidth(int sw, boolean leftToRight)inttabForCoordinate(javax.swing.JTabbedPane pane, int x, int y)protected voiduninstallComponents()protected voiduninstallDefaults()protected voiduninstallHiddenTabsNavigation()protected voiduninstallLeadingComponent()protected voiduninstallListeners()protected voiduninstallTrailingComponent()voidupdate(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:
installUIin classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
installDefaults
protected void installDefaults()
- Overrides:
installDefaultsin classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
uninstallDefaults
protected void uninstallDefaults()
- Overrides:
uninstallDefaultsin classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
installComponents
protected void installComponents()
- Overrides:
installComponentsin classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
uninstallComponents
protected void uninstallComponents()
- Overrides:
uninstallComponentsin 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:
installListenersin classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
uninstallListeners
protected void uninstallListeners()
- Overrides:
uninstallListenersin classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
installKeyboardActions
protected void installKeyboardActions()
- Overrides:
installKeyboardActionsin classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
getHandler
private FlatTabbedPaneUI.Handler getHandler()
-
createWheelTabScroller
protected FlatTabbedPaneUI.FlatWheelTabScroller createWheelTabScroller()
-
createMouseListener
protected java.awt.event.MouseListener createMouseListener()
- Overrides:
createMouseListenerin classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
createPropertyChangeListener
protected java.beans.PropertyChangeListener createPropertyChangeListener()
- Overrides:
createPropertyChangeListenerin classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
createChangeListener
protected javax.swing.event.ChangeListener createChangeListener()
- Overrides:
createChangeListenerin classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
createFocusListener
protected java.awt.event.FocusListener createFocusListener()
- Overrides:
createFocusListenerin classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
createLayoutManager
protected java.awt.LayoutManager createLayoutManager()
- Overrides:
createLayoutManagerin 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:
createScrollButtonin 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:
getStyleableInfosin interfaceFlatStylingSupport.StyleableUI- Since:
- 2
-
getStyleableValue
public java.lang.Object getStyleableValue(javax.swing.JComponent c, java.lang.String key)- Specified by:
getStyleableValuein interfaceFlatStylingSupport.StyleableUI- Since:
- 2.5
-
setRolloverTab
protected void setRolloverTab(int x, int y)
-
setRolloverTab
protected void setRolloverTab(int index)
- Overrides:
setRolloverTabin 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:
calculateTabWidthin 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:
calculateTabHeightin classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
calculateTabHeightImpl
private int calculateTabHeightImpl(int tabPlacement, int tabIndex, int fontHeight, boolean rotated)
-
calculateMaxTabWidth
protected int calculateMaxTabWidth(int tabPlacement)
- Overrides:
calculateMaxTabWidthin classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
calculateMaxTabHeight
protected int calculateMaxTabHeight(int tabPlacement)
- Overrides:
calculateMaxTabHeightin classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
calculateTabAreaWidth
protected int calculateTabAreaWidth(int tabPlacement, int vertRunCount, int maxTabWidth)- Overrides:
calculateTabAreaWidthin classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
calculateTabAreaHeight
protected int calculateTabAreaHeight(int tabPlacement, int horizRunCount, int maxTabHeight)- Overrides:
calculateTabAreaHeightin classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
getTabInsets
protected java.awt.Insets getTabInsets(int tabPlacement, int tabIndex)- Overrides:
getTabInsetsin 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:
getSelectedTabPadInsetsin classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
getRealTabAreaInsets
protected java.awt.Insets getRealTabAreaInsets(int tabPlacement)
-
getTabAreaInsets
protected java.awt.Insets getTabAreaInsets(int tabPlacement)
- Overrides:
getTabAreaInsetsin 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:
getContentBorderInsetsin classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
getTabLabelShiftX
protected int getTabLabelShiftX(int tabPlacement, int tabIndex, boolean isSelected)- Overrides:
getTabLabelShiftXin classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
getTabLabelShiftY
protected int getTabLabelShiftY(int tabPlacement, int tabIndex, boolean isSelected)- Overrides:
getTabLabelShiftYin classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
update
public void update(java.awt.Graphics g, javax.swing.JComponent c)- Overrides:
updatein classjavax.swing.plaf.ComponentUI
-
paint
public void paint(java.awt.Graphics g, javax.swing.JComponent c)- Overrides:
paintin classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
paintTabArea
protected void paintTabArea(java.awt.Graphics g, int tabPlacement, int selectedIndex)- Overrides:
paintTabAreain 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:
paintTabin 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:
paintTextin 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:
paintIconin 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:
paintTabBackgroundin 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:
paintTabBorderin 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:
paintContentBorderin 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:
paintFocusIndicatorin 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:
tabForCoordinatein classjavax.swing.plaf.basic.BasicTabbedPaneUI
-
getTabBounds
protected java.awt.Rectangle getTabBounds(int tabIndex, java.awt.Rectangle dest)- Overrides:
getTabBoundsin 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:
shouldRotateTabRunsin 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)
Returnstrueif 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.TitleBarCaptionHitTestInvoked 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.Note:
- This method is invoked often when mouse is moved over window title bar area and should therefore return quickly.
- This method is invoked on 'AWT-Windows' thread (not 'AWT-EventQueue' thread) while processing Windows messages. It must not change any component property or layout because this could cause a dead lock.
- Specified by:
isTitleBarCaptionAtin interfaceFlatTitlePane.TitleBarCaptionHitTest- Returns:
trueif the component is not interested in mouse input at the given locationfalseif the component wants process mouse input at the given locationnullif the component children should be checked- Since:
- 3.4
-
-