javax.swing.plaf.synth

## 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 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.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`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SynthTabbedPaneUI()`

  - ### Method Summary

    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()`
    `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`

- - ### Constructor Detail

    - #### SynthTabbedPaneUI

          public SynthTabbedPaneUI()

  - ### 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()

      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)

      Description copied from interface: `SynthUI`
      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)

      Description copied from class: `BasicTabbedPaneUI`
      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)

      Description copied from interface: `PropertyChangeListener`
      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()

      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)

      Description copied from class: `BasicTabbedPaneUI`
      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)

      Description copied from interface: `SynthUI`
      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)

      Description copied from class: `BasicTabbedPaneUI`
      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()

      Description copied from class: `BasicTabbedPaneUI`
      Invoked by `installUI` to create a layout manager object to manage the `JTabbedPane`.
      Overrides:
        `createLayoutManager` in class `BasicTabbedPaneUI`
      Returns:
        a layout manager object
      See Also:
        `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, 2014, Oracle and/or its affiliates. All rights reserved.