public class SynthTabbedPaneUI extends BasicTabbedPaneUI implements PropertyChangeListener, SynthUI
JTabbedPane
.
Looks up the selectedTabPadInsets
property from the Style,
which represents additional insets for the selected tab.
BasicTabbedPaneUI.FocusHandler, BasicTabbedPaneUI.MouseHandler, BasicTabbedPaneUI.PropertyChangeHandler, BasicTabbedPaneUI.TabbedPaneLayout, BasicTabbedPaneUI.TabSelectionHandler
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
DEFAULT, DISABLED, ENABLED, FOCUSED, MOUSE_OVER, PRESSED, SELECTED
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
Constructor and Description |
---|
SynthTabbedPaneUI() |
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.
|
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
contains, getAccessibleChild, getAccessibleChildrenCount, getPreferredSize
public static ComponentUI createUI(JComponent c)
c
- component to create UI object forprotected void installDefaults()
installDefaults
in class BasicTabbedPaneUI
protected void installListeners()
installListeners
in class BasicTabbedPaneUI
protected void uninstallListeners()
uninstallListeners
in class BasicTabbedPaneUI
protected void uninstallDefaults()
uninstallDefaults
in class BasicTabbedPaneUI
public SynthContext getContext(JComponent c)
getContext
in interface SynthUI
c
- Component requesting SynthContext.protected JButton createScrollButton(int direction)
createScrollButton
in class BasicTabbedPaneUI
direction
- One of the SwingConstants constants:
SOUTH, NORTH, EAST or WESTJTabbedPane.setTabPlacement(int)
,
SwingConstants
public void propertyChange(PropertyChangeEvent e)
propertyChange
in interface PropertyChangeListener
e
- A PropertyChangeEvent object describing the event source
and the property that has changed.protected MouseListener createMouseListener()
createMouseListener
in class BasicTabbedPaneUI
protected int getTabLabelShiftX(int tabPlacement, int tabIndex, boolean isSelected)
getTabLabelShiftX
in class BasicTabbedPaneUI
protected int getTabLabelShiftY(int tabPlacement, int tabIndex, boolean isSelected)
getTabLabelShiftY
in class BasicTabbedPaneUI
public void update(Graphics g, JComponent c)
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.
update
in class ComponentUI
g
- the Graphics
object used for paintingc
- the component being paintedpaint(SynthContext,Graphics)
protected int getBaseline(int tab)
getBaseline
in class BasicTabbedPaneUI
tab
- index of tab to get baseline forpublic void paintBorder(SynthContext context, Graphics g, int x, int y, int w, int h)
paintBorder
in interface SynthUI
context
- a component contextg
- Graphics
to paint onx
- the X coordinatey
- the Y coordinatew
- width of the borderh
- height of the borderpublic void paint(Graphics g, JComponent c)
This method is not used by Synth Look and Feel.
Painting is handled by the paint(SynthContext,Graphics)
method.
paint
in class BasicTabbedPaneUI
g
- the Graphics
object used for paintingc
- the component being paintedpaint(SynthContext,Graphics)
protected void paint(SynthContext context, Graphics g)
context
- context for the component being paintedg
- the Graphics
object used for paintingupdate(Graphics,JComponent)
protected void paintTabArea(Graphics g, int tabPlacement, int selectedIndex)
BasicTabbedPaneUI
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.paintTabArea
in class BasicTabbedPaneUI
g
- the graphics object to use for renderingtabPlacement
- the placement for the tabs within the JTabbedPaneselectedIndex
- the tab index of the selected componentprotected void setRolloverTab(int index)
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.setRolloverTab
in class BasicTabbedPaneUI
index
- Index of the tab the mouse is over.protected int calculateMaxTabHeight(int tabPlacement)
calculateMaxTabHeight
in class BasicTabbedPaneUI
protected int calculateTabWidth(int tabPlacement, int tabIndex, FontMetrics metrics)
calculateTabWidth
in class BasicTabbedPaneUI
protected int calculateMaxTabWidth(int tabPlacement)
calculateMaxTabWidth
in class BasicTabbedPaneUI
protected Insets getTabInsets(int tabPlacement, int tabIndex)
getTabInsets
in class BasicTabbedPaneUI
protected FontMetrics getFontMetrics()
getFontMetrics
in class BasicTabbedPaneUI
protected LayoutManager createLayoutManager()
installUI
to create
a layout manager object to manage
the JTabbedPane
.
Overridden to create a TabbedPaneLayout subclass which takes into
account tabOverlap.createLayoutManager
in class BasicTabbedPaneUI
BasicTabbedPaneUI.TabbedPaneLayout
,
JTabbedPane.getTabLayoutPolicy()
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.