SynthTabbedPaneUI
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
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
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 classBasicTabbedPaneUI
installListeners
protected void installListeners()
- Overrides:
-
installListeners
in classBasicTabbedPaneUI
uninstallListeners
protected void uninstallListeners()
- Overrides:
-
uninstallListeners
in classBasicTabbedPaneUI
uninstallDefaults
protected void uninstallDefaults()
- Overrides:
-
uninstallDefaults
in classBasicTabbedPaneUI
getContext
public SynthContext getContext(JComponent c)
Returns the Context for the specified component.
- Specified by:
-
getContext
in interfaceSynthUI
- 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 classBasicTabbedPaneUI
- 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 interfacePropertyChangeListener
- 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 classBasicTabbedPaneUI
getTabLabelShiftX
protected int getTabLabelShiftX(int tabPlacement, int tabIndex, boolean isSelected)
- Overrides:
-
getTabLabelShiftX
in classBasicTabbedPaneUI
getTabLabelShiftY
protected int getTabLabelShiftY(int tabPlacement, int tabIndex, boolean isSelected)
- Overrides:
-
getTabLabelShiftY
in classBasicTabbedPaneUI
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 classComponentUI
- Parameters:
-
g
- theGraphics
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 classBasicTabbedPaneUI
- 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 interfaceSynthUI
- 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 classBasicTabbedPaneUI
- Parameters:
-
g
- theGraphics
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
- theGraphics
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 classBasicTabbedPaneUI
- 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 classBasicTabbedPaneUI
- Parameters:
-
index
- Index of the tab the mouse is over.
calculateMaxTabHeight
protected int calculateMaxTabHeight(int tabPlacement)
- Overrides:
-
calculateMaxTabHeight
in classBasicTabbedPaneUI
calculateTabWidth
protected int calculateTabWidth(int tabPlacement, int tabIndex, FontMetrics metrics)
- Overrides:
-
calculateTabWidth
in classBasicTabbedPaneUI
calculateMaxTabWidth
protected int calculateMaxTabWidth(int tabPlacement)
- Overrides:
-
calculateMaxTabWidth
in classBasicTabbedPaneUI
getTabInsets
protected Insets getTabInsets(int tabPlacement, int tabIndex)
- Overrides:
-
getTabInsets
in classBasicTabbedPaneUI
getFontMetrics
protected FontMetrics getFontMetrics()
- Overrides:
-
getFontMetrics
in classBasicTabbedPaneUI
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 classBasicTabbedPaneUI
- Returns:
- a layout manager object
- See Also:
-
BasicTabbedPaneUI.TabbedPaneLayout
,JTabbedPane.getTabLayoutPolicy()
© 1993–2017, 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.