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.
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
public SynthTabbedPaneUI()
public static ComponentUI createUI(JComponent c)
Creates a new UI object for the given component.
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)
Returns the Context for the specified component.
getContext
in interface SynthUI
c
- Component requesting SynthContext.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.
createScrollButton
in class BasicTabbedPaneUI
direction
- One of the SwingConstants constants: SOUTH, NORTH, EAST or WESTJTabbedPane.setTabPlacement(int)
, SwingConstants
public void propertyChange(PropertyChangeEvent e)
This method gets called when a bound property is changed.
propertyChange
in interface PropertyChangeListener
e
- A PropertyChangeEvent object describing the event source and the property that has changed.protected MouseListener createMouseListener()
Overridden to keep track of whether the selected tab is also pressed.
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)
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.
update
in class ComponentUI
g
- the Graphics
object used for paintingc
- the component being paintedpaint(SynthContext,Graphics)
protected int getBaseline(int tab)
Returns the baseline for the specified 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)
Paints the border.
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)
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.
paint
in class BasicTabbedPaneUI
g
- the Graphics
object used for paintingc
- the component being paintedpaint(SynthContext,Graphics)
protected void paint(SynthContext context, Graphics g)
Paints the specified component.
context
- context for the component being paintedg
- the Graphics
object used for paintingupdate(Graphics,JComponent)
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.
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)
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.
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()
Invoked by 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()
© 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.