Class SynthTabbedPaneUI

All Implemented Interfaces:
PropertyChangeListener, EventListener, SynthConstants, SynthUI, SwingConstants

public class SynthTabbedPaneUI
extends BasicTabbedPaneUI
implements PropertyChangeListener, SynthUI

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 Classes

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

BasicTabbedPaneUI.FocusHandler, BasicTabbedPaneUI.MouseHandler, BasicTabbedPaneUI.PropertyChangeHandler, BasicTabbedPaneUI.TabbedPaneLayout, BasicTabbedPaneUI.TabSelectionHandler

Fields

Fields inherited from class javax.swing.plaf.basic.BasicTabbedPaneUI

calcRect, contentBorderInsets, darkShadow, downKey, focus, focusListener, highlight, leftKey, lightHighlight, maxTabHeight, maxTabWidth, mouseListener, propertyChangeListener, rects, rightKey, runCount, selectedRun, selectedTabPadInsets, shadow, tabAreaInsets, tabChangeListener, tabInsets, tabPane, tabRunOverlay, tabRuns, textIconGap, upKey

Fields inherited from interface javax.swing.plaf.synth.SynthConstants

DEFAULT, DISABLED, ENABLED, FOCUSED, MOUSE_OVER, PRESSED, SELECTED

Fields inherited from interface javax.swing.SwingConstants

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

Constructors

Constructor and Description
SynthTabbedPaneUI()

Methods

Modifier and Type Method and Description
protected int calculateMaxTabHeight(int tabPlacement)
protected int calculateMaxTabWidth(int tabPlacement)
protected int calculateTabWidth(int tabPlacement, int tabIndex, FontMetrics metrics)
protected LayoutManager createLayoutManager()

Invoked by installUI to create a layout manager object to manage the JTabbedPane.

protected MouseListener createMouseListener()

Overridden to keep track of whether the selected tab is also pressed.

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 createUI(JComponent c)

Creates a new UI object for the given component.

protected int getBaseline(int tab)

Returns the baseline for the specified tab.

SynthContext getContext(JComponent c)

Returns the Context for the specified component.

protected FontMetrics getFontMetrics()
protected Insets getTabInsets(int tabPlacement, int tabIndex)
protected int getTabLabelShiftX(int tabPlacement, int tabIndex, boolean isSelected)
protected int getTabLabelShiftY(int tabPlacement, int tabIndex, boolean isSelected)
protected void installDefaults()
protected void installListeners()
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 propertyChange(PropertyChangeEvent e)

This method gets called when a bound property is changed.

protected void setRolloverTab(int index)

Sets the tab the mouse is currently over to index.

protected void uninstallDefaults()
protected void uninstallListeners()
void update(Graphics g, JComponent c)

Notifies this UI delegate to repaint the specified component.

Methods inherited from class javax.swing.plaf.basic.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 javax.swing.plaf.ComponentUI

contains, getAccessibleChild, getAccessibleChildrenCount, getPreferredSize

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructors

SynthTabbedPaneUI

public SynthTabbedPaneUI()

Methods

createUI

public static ComponentUI createUI(JComponent c)

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()
Overrides:
installDefaults in class BasicTabbedPaneUI

installListeners

protected void installListeners()
Overrides:
installListeners in class BasicTabbedPaneUI

uninstallListeners

protected void uninstallListeners()
Overrides:
uninstallListeners in class BasicTabbedPaneUI

uninstallDefaults

protected void uninstallDefaults()
Overrides:
uninstallDefaults in class BasicTabbedPaneUI

getContext

public SynthContext getContext(JComponent c)

Returns the Context for the specified component.

Specified by:
getContext in interface SynthUI
Parameters:
c - Component requesting SynthContext.
Returns:
SynthContext describing component.

createScrollButton

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. The returned JButton must be instance of UIResource.

Overrides:
createScrollButton in class BasicTabbedPaneUI
Parameters:
direction - One of the SwingConstants constants: SOUTH, NORTH, EAST or WEST
Returns:
Widget for user to
See Also:
JTabbedPane.setTabPlacement(int), SwingConstants

propertyChange

public void propertyChange(PropertyChangeEvent e)

This method gets called when a bound property is changed.

Specified by:
propertyChange in interface PropertyChangeListener
Parameters:
e - A PropertyChangeEvent object describing the event source and the property that has changed.

createMouseListener

protected MouseListener createMouseListener()

Overridden to keep track of whether the selected tab is also pressed.

Overrides:
createMouseListener in class BasicTabbedPaneUI

getTabLabelShiftX

protected int getTabLabelShiftX(int tabPlacement,
                                int tabIndex,
                                boolean isSelected)
Overrides:
getTabLabelShiftX in class BasicTabbedPaneUI

getTabLabelShiftY

protected int getTabLabelShiftY(int tabPlacement,
                                int tabIndex,
                                boolean isSelected)
Overrides:
getTabLabelShiftY in class BasicTabbedPaneUI

update

public void update(Graphics g,
                   JComponent c)

Notifies this UI delegate to repaint the specified component. This method paints the component background, then calls the paint(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 class ComponentUI
Parameters:
g - the Graphics object used for painting
c - the component being painted
See Also:
paint(SynthContext,Graphics)

getBaseline

protected int getBaseline(int tab)

Returns the baseline for the specified tab.

Overrides:
getBaseline in class BasicTabbedPaneUI
Parameters:
tab - index of tab to get baseline for
Returns:
baseline or a value < 0 indicating there is no reasonable baseline

paintBorder

public void paintBorder(SynthContext context,
                        Graphics g,
                        int x,
                        int y,
                        int w,
                        int h)

Paints the border.

Specified by:
paintBorder in interface SynthUI
Parameters:
context - a component context
g - Graphics to paint on
x - the X coordinate
y - the Y coordinate
w - width of the border
h - height of the border

paint

public void paint(Graphics g,
                  JComponent c)

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 class BasicTabbedPaneUI
Parameters:
g - the Graphics object used for painting
c - the component being painted
See Also:
paint(SynthContext,Graphics)

paint

protected void paint(SynthContext context,
                     Graphics g)

Paints the specified component.

Parameters:
context - context for the component being painted
g - the Graphics object used for painting
See Also:
update(Graphics,JComponent)

paintTabArea

protected void paintTabArea(Graphics g,
                            int tabPlacement,
                            int selectedIndex)

Description copied from class: BasicTabbedPaneUI

Paints the tabs in the tab area. Invoked by paint(). The graphics parameter must be a valid Graphics object. Tab placement may be either: JTabbedPane.TOP, JTabbedPane.BOTTOM, JTabbedPane.LEFT, or JTabbedPane.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 class BasicTabbedPaneUI
Parameters:
g - the graphics object to use for rendering
tabPlacement - the placement for the tabs within the JTabbedPane
selectedIndex - the tab index of the selected component

setRolloverTab

protected void setRolloverTab(int index)

Sets the tab the mouse is currently over to index. 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 class BasicTabbedPaneUI
Parameters:
index - Index of the tab the mouse is over.

calculateMaxTabHeight

protected int calculateMaxTabHeight(int tabPlacement)
Overrides:
calculateMaxTabHeight in class BasicTabbedPaneUI

calculateTabWidth

protected int calculateTabWidth(int tabPlacement,
                                int tabIndex,
                                FontMetrics metrics)
Overrides:
calculateTabWidth in class BasicTabbedPaneUI

calculateMaxTabWidth

protected int calculateMaxTabWidth(int tabPlacement)
Overrides:
calculateMaxTabWidth in class BasicTabbedPaneUI

getTabInsets

protected Insets getTabInsets(int tabPlacement,
                              int tabIndex)
Overrides:
getTabInsets in class BasicTabbedPaneUI

getFontMetrics

protected FontMetrics getFontMetrics()
Overrides:
getFontMetrics in class BasicTabbedPaneUI

createLayoutManager

protected LayoutManager createLayoutManager()

Invoked by installUI to create a layout manager object to manage the JTabbedPane. Overridden to create a TabbedPaneLayout subclass which takes into account tabOverlap.

Overrides:
createLayoutManager in class BasicTabbedPaneUI
Returns:
a layout manager object
See Also:
BasicTabbedPaneUI.TabbedPaneLayout, JTabbedPane.getTabLayoutPolicy()

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/javase/8/docs/api/javax/swing/plaf/synth/SynthTabbedPaneUI.html