- 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 forJTabbedPane.Looks up the
selectedTabPadInsetsproperty from the Style, which represents additional insets for the selected tab.- Since:
- 1.7
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.plaf.basic.BasicTabbedPaneUI
BasicTabbedPaneUI.FocusHandler, BasicTabbedPaneUI.MouseHandler, BasicTabbedPaneUI.PropertyChangeHandler, BasicTabbedPaneUI.TabbedPaneLayout, BasicTabbedPaneUI.TabSelectionHandler
-
-
Field Summary
-
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.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 javax.swing.plaf.synth.SynthConstants
DEFAULT, DISABLED, ENABLED, FOCUSED, MOUSE_OVER, PRESSED, SELECTED
-
-
Constructor Summary
Constructors Constructor Description SynthTabbedPaneUI()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected intcalculateMaxTabHeight(int tabPlacement)Calculates the maximum tab height.protected intcalculateMaxTabWidth(int tabPlacement)Calculates the maximum tab width.protected intcalculateTabWidth(int tabPlacement, int tabIndex, FontMetrics metrics)Calculates the tab width.protected LayoutManagercreateLayoutManager()Invoked byinstallUIto create a layout manager object to manage theJTabbedPane.protected MouseListenercreateMouseListener()Creates a mouse listener.protected JButtoncreateScrollButton(int direction)Creates and returns a JButton that will provide the user with a way to scroll the tabs in a particular direction.static ComponentUIcreateUI(JComponent c)Creates a new UI object for the given component.protected intgetBaseline(int tab)Returns the baseline for the specified tab.SynthContextgetContext(JComponent c)Returns the Context for the specified component.protected FontMetricsgetFontMetrics()Returns the font metrics.protected InsetsgetTabInsets(int tabPlacement, int tabIndex)Returns the tab insets.protected intgetTabLabelShiftX(int tabPlacement, int tabIndex, boolean isSelected)Returns the tab label shift x.protected intgetTabLabelShiftY(int tabPlacement, int tabIndex, boolean isSelected)Returns the tab label shift y.protected voidinstallDefaults()Install the defaults.protected voidinstallListeners()Install the listeners.voidpaint(Graphics g, JComponent c)Paints the specified component according to the Look and Feel.protected voidpaint(SynthContext context, Graphics g)Paints the specified component.voidpaintBorder(SynthContext context, Graphics g, int x, int y, int w, int h)Paints the border.protected voidpaintTabArea(Graphics g, int tabPlacement, int selectedIndex)Paints the tabs in the tab area.voidpropertyChange(PropertyChangeEvent e)This method gets called when a bound property is changed.protected voidsetRolloverTab(int index)Sets the tab the mouse is currently over toindex.protected voiduninstallDefaults()Uninstall the defaults.protected voiduninstallListeners()Uninstall the listeners.voidupdate(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
-
-
-
-
Method Detail
-
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()
Install the defaults.- Overrides:
installDefaultsin classBasicTabbedPaneUI
-
installListeners
protected void installListeners()
Install the listeners.- Overrides:
installListenersin classBasicTabbedPaneUI
-
uninstallListeners
protected void uninstallListeners()
Uninstall the listeners.- Overrides:
uninstallListenersin classBasicTabbedPaneUI
-
uninstallDefaults
protected void uninstallDefaults()
Uninstall the defaults.- Overrides:
uninstallDefaultsin classBasicTabbedPaneUI
-
getContext
public SynthContext getContext(JComponent c)
Returns the Context for the specified component.- Specified by:
getContextin 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:
createScrollButtonin 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:
propertyChangein interfacePropertyChangeListener- Parameters:
e- A PropertyChangeEvent object describing the event source and the property that has changed.
-
createMouseListener
protected MouseListener createMouseListener()
Creates a mouse listener. Overridden to keep track of whether the selected tab is also pressed.- Overrides:
createMouseListenerin classBasicTabbedPaneUI- Returns:
- a mouse listener
-
getTabLabelShiftX
protected int getTabLabelShiftX(int tabPlacement, int tabIndex, boolean isSelected)Returns the tab label shift x.- Overrides:
getTabLabelShiftXin 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:
getTabLabelShiftYin classBasicTabbedPaneUI- Parameters:
tabPlacement- the tab placementtabIndex- the tab indexisSelected- selection status- Returns:
- the tab label shift y
-
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 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
paintmethod.- Overrides:
updatein classComponentUI- Parameters:
g- theGraphicsobject used for paintingc- the component being painted- See Also:
paint(SynthContext,Graphics)
-
getBaseline
protected int getBaseline(int tab)
Returns the baseline for the specified tab.- Overrides:
getBaselinein 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:
paintBorderin interfaceSynthUI- Parameters:
context- a component contextg-Graphicsto paint onx- the X coordinatey- the Y coordinatew- width of the borderh- 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:
paintin classBasicTabbedPaneUI- Parameters:
g- theGraphicsobject used for paintingc- 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 paintedg- theGraphicsobject used for painting- See Also:
update(Graphics,JComponent)
-
paintTabArea
protected void paintTabArea(Graphics g, int tabPlacement, int selectedIndex)
Description copied from class:BasicTabbedPaneUIPaints the tabs in the tab area. Invoked by paint(). The graphics parameter must be a validGraphicsobject. 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:
paintTabAreain 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.indexwill 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:
setRolloverTabin classBasicTabbedPaneUI- Parameters:
index- Index of the tab the mouse is over.
-
calculateMaxTabHeight
protected int calculateMaxTabHeight(int tabPlacement)
Calculates the maximum tab height.- Overrides:
calculateMaxTabHeightin classBasicTabbedPaneUI- Parameters:
tabPlacement- the placement (left, right, bottom, top) of the tab- Returns:
- the maximum tab height
-
calculateTabWidth
protected int calculateTabWidth(int tabPlacement, int tabIndex, FontMetrics metrics)Calculates the tab width.- Overrides:
calculateTabWidthin 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:
calculateMaxTabWidthin classBasicTabbedPaneUI- Parameters:
tabPlacement- the placement (left, right, bottom, top) of the tab- Returns:
- the maximum tab width
-
getTabInsets
protected Insets getTabInsets(int tabPlacement, int tabIndex)
Returns the tab insets.- Overrides:
getTabInsetsin classBasicTabbedPaneUI- Parameters:
tabPlacement- the placement (left, right, bottom, top) of the tabtabIndex- the tab index- Returns:
- the tab insets
-
getFontMetrics
protected FontMetrics getFontMetrics()
Returns the font metrics.- Overrides:
getFontMetricsin classBasicTabbedPaneUI- Returns:
- the font metrics
-
createLayoutManager
protected LayoutManager createLayoutManager()
Invoked byinstallUIto create a layout manager object to manage theJTabbedPane. Overridden to create a TabbedPaneLayout subclass which takes into account tabOverlap.- Overrides:
createLayoutManagerin classBasicTabbedPaneUI- Returns:
- a layout manager object
- See Also:
BasicTabbedPaneUI.TabbedPaneLayout,JTabbedPane.getTabLayoutPolicy()
-
-