Class SynthTabbedPaneUI
java.lang.Object
javax.swing.plaf.ComponentUI
javax.swing.plaf.TabbedPaneUI
javax.swing.plaf.basic.BasicTabbedPaneUI
javax.swing.plaf.synth.SynthTabbedPaneUI
- All Implemented Interfaces:
PropertyChangeListener, EventListener, SynthConstants, SynthUI, SwingConstants
Provides the Synth L&F UI delegate for
JTabbedPane
.
Looks up the selectedTabPadInsets
property from the Style,
which represents additional insets for the selected tab.
- Since:
- 1.7
-
Nested Class Summary
Nested classes/interfaces inherited from class BasicTabbedPaneUI
BasicTabbedPaneUI.FocusHandler, BasicTabbedPaneUI.MouseHandler, BasicTabbedPaneUI.PropertyChangeHandler, BasicTabbedPaneUI.TabbedPaneLayout, BasicTabbedPaneUI.TabSelectionHandler
-
Field Summary
Fields inherited from class 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 SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
Fields inherited from interface SynthConstants
DEFAULT, DISABLED, ENABLED, FOCUSED, MOUSE_OVER, PRESSED, SELECTED
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected int
calculateMaxTabHeight
(int tabPlacement) Calculates the maximum tab height.protected int
calculateMaxTabWidth
(int tabPlacement) Calculates the maximum tab width.protected int
calculateTabWidth
(int tabPlacement, int tabIndex, FontMetrics metrics) Calculates the tab width.protected LayoutManager
Invoked byinstallUI
to create a layout manager object to manage theJTabbedPane
.protected MouseListener
Creates a mouse listener.protected JButton
createScrollButton
(int direction) Creates and returns a JButton that will provide the user with a way to scroll the tabs in a particular direction.static ComponentUI
Creates a new UI object for the given component.protected int
getBaseline
(int tab) Returns the baseline for the specified tab.Returns the Context for the specified component.protected FontMetrics
Returns the font metrics.protected Insets
getTabInsets
(int tabPlacement, int tabIndex) Returns the tab insets.protected int
getTabLabelShiftX
(int tabPlacement, int tabIndex, boolean isSelected) Returns the tab label shift x.protected int
getTabLabelShiftY
(int tabPlacement, int tabIndex, boolean isSelected) Returns the tab label shift y.protected void
Installs the defaults.protected void
Installs the listeners.void
paint
(Graphics g, JComponent c) Paints the specified component according to the Look and Feel.protected void
paint
(SynthContext context, Graphics g) Paints the specified component.void
paintBorder
(SynthContext context, Graphics g, int x, int y, int w, int h) Paints the border.protected void
paintTabArea
(Graphics g, int tabPlacement, int selectedIndex) Paints the tabs in the tab area.void
This method gets called when a bound property is changed.protected void
setRolloverTab
(int index) Sets the tab the mouse is currently over toindex
.protected void
Uninstalls the defaults.protected void
Uninstalls the listeners.void
update
(Graphics g, JComponent c) Notifies this UI delegate to repaint the specified component.Methods inherited from class BasicTabbedPaneUI
assureRectsCreated, calculateTabAreaHeight, calculateTabAreaWidth, calculateTabHeight, createChangeListener, createFocusListener, createPropertyChangeListener, expandTabRunsArray, getBaseline, getBaselineOffset, getBaselineResizeBehavior, getContentBorderInsets, getFocusIndex, getIconForTab, getMaximumSize, getMinimumSize, getNextTabIndex, getNextTabIndexInRun, getNextTabRun, getPreviousTabIndex, getPreviousTabIndexInRun, getPreviousTabRun, getRolloverTab, getRunForTab, getSelectedTabPadInsets, getTabAreaInsets, getTabBounds, getTabBounds, getTabRunCount, getTabRunIndent, getTabRunOffset, getTabRunOverlay, getTextViewForTab, getVisibleComponent, installComponents, installKeyboardActions, installUI, lastTabInRun, layoutLabel, navigateSelectedTab, paintContentBorder, paintContentBorderBottomEdge, paintContentBorderLeftEdge, paintContentBorderRightEdge, paintContentBorderTopEdge, paintFocusIndicator, paintIcon, paintTab, paintTabBackground, paintTabBorder, paintText, rotateInsets, selectAdjacentRunTab, selectNextTab, selectNextTabInRun, selectPreviousTab, selectPreviousTabInRun, setVisibleComponent, shouldPadTabRun, shouldRotateTabRuns, tabForCoordinate, uninstallComponents, uninstallKeyboardActions, uninstallUI
Methods inherited from class ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount, getPreferredSize
-
Constructor Details
-
SynthTabbedPaneUI
public SynthTabbedPaneUI()Constructs aSynthTabbedPaneUI
.
-
-
Method Details
-
createUI
Creates a new UI object for the given component.- Parameters:
c
- component to create UI object for- Returns:
- the UI object
-
installDefaults
protected void installDefaults()Installs the defaults.- Overrides:
installDefaults
in classBasicTabbedPaneUI
-
installListeners
protected void installListeners()Installs the listeners.- Overrides:
installListeners
in classBasicTabbedPaneUI
-
uninstallListeners
protected void uninstallListeners()Uninstalls the listeners.- Overrides:
uninstallListeners
in classBasicTabbedPaneUI
-
uninstallDefaults
protected void uninstallDefaults()Uninstalls the defaults.- Overrides:
uninstallDefaults
in classBasicTabbedPaneUI
-
getContext
Returns the Context for the specified component.- Specified by:
getContext
in interfaceSynthUI
- Parameters:
c
- Component requesting SynthContext.- Returns:
- SynthContext describing component.
-
createScrollButton
Creates and returns a JButton that will provide the user with a way to scroll the tabs in a particular direction. The returned JButton must be instance of UIResource.- Overrides:
createScrollButton
in classBasicTabbedPaneUI
- Parameters:
direction
- One of the SwingConstants constants: SOUTH, NORTH, EAST or WEST- Returns:
- Widget for user to
- See Also:
-
propertyChange
This method gets called when a bound property is changed.- Specified by:
propertyChange
in interfacePropertyChangeListener
- Parameters:
e
- A PropertyChangeEvent object describing the event source and the property that has changed.
-
createMouseListener
Creates a mouse listener. Overridden to keep track of whether the selected tab is also pressed.- Overrides:
createMouseListener
in classBasicTabbedPaneUI
- Returns:
- a mouse listener
-
getTabLabelShiftX
protected int getTabLabelShiftX(int tabPlacement, int tabIndex, boolean isSelected) Returns the tab label shift x.- Overrides:
getTabLabelShiftX
in classBasicTabbedPaneUI
- Parameters:
tabPlacement
- the tab placementtabIndex
- the tab indexisSelected
- selection status- Returns:
- the tab label shift x
-
getTabLabelShiftY
protected int getTabLabelShiftY(int tabPlacement, int tabIndex, boolean isSelected) Returns the tab label shift y.- Overrides:
getTabLabelShiftY
in classBasicTabbedPaneUI
- Parameters:
tabPlacement
- the tab placementtabIndex
- the tab indexisSelected
- selection status- Returns:
- the tab label shift y
-
update
Notifies this UI delegate to repaint the specified component. This method paints the component background, then calls thepaint(SynthContext,Graphics)
method.In general, this method does not need to be overridden by subclasses. All Look and Feel rendering code should reside in the
paint
method.- Overrides:
update
in classComponentUI
- Parameters:
g
- theGraphics
object used for paintingc
- the component being painted- See Also:
-
getBaseline
protected int getBaseline(int tab) Returns the baseline for the specified tab.- Overrides:
getBaseline
in classBasicTabbedPaneUI
- Parameters:
tab
- index of tab to get baseline for- Returns:
- baseline or a value < 0 indicating there is no reasonable baseline
-
paintBorder
Paints the border.- Specified by:
paintBorder
in interfaceSynthUI
- Parameters:
context
- a component contextg
-Graphics
to paint onx
- the X coordinatey
- the Y coordinatew
- width of the borderh
- height of the border
-
paint
Paints the specified component according to the Look and Feel.This method is not used by Synth Look and Feel. Painting is handled by the
paint(SynthContext,Graphics)
method.- Overrides:
paint
in classBasicTabbedPaneUI
- Parameters:
g
- theGraphics
object used for paintingc
- the component being painted- See Also:
-
paint
Paints the specified component.- Parameters:
context
- context for the component being paintedg
- theGraphics
object used for painting- See Also:
-
paintTabArea
Description copied from class:BasicTabbedPaneUI
Paints the tabs in the tab area. Invoked by paint(). The graphics parameter must be a validGraphics
object. Tab placement may be either:JTabbedPane.TOP
,JTabbedPane.BOTTOM
,JTabbedPane.LEFT
, orJTabbedPane.RIGHT
. The selected index must be a valid tabbed pane tab index (0 to tab count - 1, inclusive) or -1 if no tab is currently selected. The handling of invalid parameters is unspecified.- Overrides:
paintTabArea
in classBasicTabbedPaneUI
- Parameters:
g
- the graphics object to use for renderingtabPlacement
- the placement for the tabs within the JTabbedPaneselectedIndex
- the tab index of the selected component
-
setRolloverTab
protected void setRolloverTab(int index) Sets the tab the mouse is currently over toindex
.index
will be -1 if the mouse is no longer over any tab. No checking is done to ensure the passed in index identifies a valid tab.- Overrides:
setRolloverTab
in classBasicTabbedPaneUI
- Parameters:
index
- Index of the tab the mouse is over.
-
calculateMaxTabHeight
protected int calculateMaxTabHeight(int tabPlacement) Calculates the maximum tab height.- Overrides:
calculateMaxTabHeight
in classBasicTabbedPaneUI
- Parameters:
tabPlacement
- the placement (left, right, bottom, top) of the tab- Returns:
- the maximum tab height
-
calculateTabWidth
Calculates the tab width.- Overrides:
calculateTabWidth
in classBasicTabbedPaneUI
- Parameters:
tabPlacement
- the placement (left, right, bottom, top) of the tabtabIndex
- the index of the tab with respect to other tabsmetrics
- the font metrics- Returns:
- the tab width
-
calculateMaxTabWidth
protected int calculateMaxTabWidth(int tabPlacement) Calculates the maximum tab width.- Overrides:
calculateMaxTabWidth
in classBasicTabbedPaneUI
- Parameters:
tabPlacement
- the placement (left, right, bottom, top) of the tab- Returns:
- the maximum tab width
-
getTabInsets
Returns the tab insets.- Overrides:
getTabInsets
in classBasicTabbedPaneUI
- Parameters:
tabPlacement
- the placement (left, right, bottom, top) of the tabtabIndex
- the tab index- Returns:
- the tab insets
-
getFontMetrics
Returns the font metrics.- Overrides:
getFontMetrics
in classBasicTabbedPaneUI
- Returns:
- the font metrics
-
createLayoutManager
Invoked byinstallUI
to create a layout manager object to manage theJTabbedPane
. Overridden to create a TabbedPaneLayout subclass which takes into account tabOverlap.- Overrides:
createLayoutManager
in classBasicTabbedPaneUI
- Returns:
- a layout manager object
- See Also:
-