| 
 | JavaTM 2 Platform Standard Ed. 5.0 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjavax.swing.plaf.ComponentUI
javax.swing.plaf.TabbedPaneUI
javax.swing.plaf.basic.BasicTabbedPaneUI
public class BasicTabbedPaneUI
A Basic L&F implementation of TabbedPaneUI.
| Nested Class Summary | |
|---|---|
|  class | BasicTabbedPaneUI.FocusHandlerThis class should be treated as a "protected" inner class. | 
|  class | BasicTabbedPaneUI.MouseHandlerThis class should be treated as a "protected" inner class. | 
|  class | BasicTabbedPaneUI.PropertyChangeHandlerThis class should be treated as a "protected" inner class. | 
|  class | BasicTabbedPaneUI.TabbedPaneLayoutThis class should be treated as a "protected" inner class. | 
|  class | BasicTabbedPaneUI.TabSelectionHandlerThis class should be treated as a "protected" inner class. | 
| Field Summary | |
|---|---|
| protected  Rectangle | calcRectA rectangle used for general layout calculations in order to avoid constructing many new Rectangles on the fly. | 
| protected  Insets | contentBorderInsets | 
| protected  Color | darkShadow | 
| protected  KeyStroke | downKeyDeprecated. As of Java 2 platform v1.3. | 
| protected  Color | focus | 
| protected  FocusListener | focusListener | 
| protected  Color | highlight | 
| protected  KeyStroke | leftKeyDeprecated. As of Java 2 platform v1.3. | 
| protected  Color | lightHighlight | 
| protected  int | maxTabHeight | 
| protected  int | maxTabWidth | 
| protected  MouseListener | mouseListener | 
| protected  PropertyChangeListener | propertyChangeListener | 
| protected  Rectangle[] | rects | 
| protected  KeyStroke | rightKeyDeprecated. As of Java 2 platform v1.3. | 
| protected  int | runCount | 
| protected  int | selectedRun | 
| protected  Insets | selectedTabPadInsets | 
| protected  Color | shadow | 
| protected  Insets | tabAreaInsets | 
| protected  ChangeListener | tabChangeListener | 
| protected  Insets | tabInsets | 
| protected  JTabbedPane | tabPane | 
| protected  int | tabRunOverlay | 
| protected  int[] | tabRuns | 
| protected  int | textIconGap | 
| protected  KeyStroke | upKeyDeprecated. As of Java 2 platform v1.3. | 
| 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 | |
|---|---|
| BasicTabbedPaneUI() | |
| Method Summary | |
|---|---|
| protected  void | assureRectsCreated(int tabCount) | 
| protected  int | calculateMaxTabHeight(int tabPlacement) | 
| protected  int | calculateMaxTabWidth(int tabPlacement) | 
| protected  int | calculateTabAreaHeight(int tabPlacement,
                       int horizRunCount,
                       int maxTabHeight) | 
| protected  int | calculateTabAreaWidth(int tabPlacement,
                      int vertRunCount,
                      int maxTabWidth) | 
| protected  int | calculateTabHeight(int tabPlacement,
                   int tabIndex,
                   int fontHeight) | 
| protected  int | calculateTabWidth(int tabPlacement,
                  int tabIndex,
                  FontMetrics metrics) | 
| protected  ChangeListener | createChangeListener() | 
| protected  FocusListener | createFocusListener() | 
| protected  LayoutManager | createLayoutManager()Invoked by installUIto create
 a layout manager object to manage
 theJTabbedPane. | 
| protected  MouseListener | createMouseListener() | 
| protected  PropertyChangeListener | createPropertyChangeListener() | 
| 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) | 
| protected  void | expandTabRunsArray() | 
| protected  Insets | getContentBorderInsets(int tabPlacement) | 
| protected  int | getFocusIndex()Returns the index of the tab that has focus. | 
| protected  FontMetrics | getFontMetrics() | 
| protected  Icon | getIconForTab(int tabIndex) | 
|  Dimension | getMaximumSize(JComponent c)Returns the specified component's maximum size appropriate for the look and feel. | 
|  Dimension | getMinimumSize(JComponent c)Returns the specified component's minimum size appropriate for the look and feel. | 
| protected  int | getNextTabIndex(int base) | 
| protected  int | getNextTabIndexInRun(int tabCount,
                     int base) | 
| protected  int | getNextTabRun(int baseRun) | 
| protected  int | getPreviousTabIndex(int base) | 
| protected  int | getPreviousTabIndexInRun(int tabCount,
                         int base) | 
| protected  int | getPreviousTabRun(int baseRun) | 
| protected  int | getRolloverTab()Returns the tab the mouse is currently over, or -1 if the mouse is no longer over any tab. | 
| protected  int | getRunForTab(int tabCount,
             int tabIndex) | 
| protected  Insets | getSelectedTabPadInsets(int tabPlacement) | 
| protected  Insets | getTabAreaInsets(int tabPlacement) | 
| protected  Rectangle | getTabBounds(int tabIndex,
             Rectangle dest)Returns the bounds of the specified tab in the coordinate space of the JTabbedPane component. | 
|  Rectangle | getTabBounds(JTabbedPane pane,
             int i)Returns the bounds of the specified tab index. | 
| 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) | 
|  int | getTabRunCount(JTabbedPane pane) | 
| protected  int | getTabRunIndent(int tabPlacement,
                int run) | 
| protected  int | getTabRunOffset(int tabPlacement,
                int tabCount,
                int tabIndex,
                boolean forward) | 
| protected  int | getTabRunOverlay(int tabPlacement) | 
| protected  View | getTextViewForTab(int tabIndex)Returns the text View object required to render stylized text (HTML) for the specified tab or null if no specialized text rendering is needed for this tab. | 
| protected  Component | getVisibleComponent() | 
| protected  void | installComponents()Creates and installs any required subcomponents for the JTabbedPane. | 
| protected  void | installDefaults() | 
| protected  void | installKeyboardActions() | 
| protected  void | installListeners() | 
|  void | installUI(JComponent c)Configures the specified component appropriate for the look and feel. | 
| protected  int | lastTabInRun(int tabCount,
             int run) | 
| protected  void | layoutLabel(int tabPlacement,
            FontMetrics metrics,
            int tabIndex,
            String title,
            Icon icon,
            Rectangle tabRect,
            Rectangle iconRect,
            Rectangle textRect,
            boolean isSelected) | 
| protected  void | navigateSelectedTab(int direction) | 
|  void | paint(Graphics g,
      JComponent c)Paints the specified component appropriate for the look and feel. | 
| protected  void | paintContentBorder(Graphics g,
                   int tabPlacement,
                   int selectedIndex) | 
| protected  void | paintContentBorderBottomEdge(Graphics g,
                             int tabPlacement,
                             int selectedIndex,
                             int x,
                             int y,
                             int w,
                             int h) | 
| protected  void | paintContentBorderLeftEdge(Graphics g,
                           int tabPlacement,
                           int selectedIndex,
                           int x,
                           int y,
                           int w,
                           int h) | 
| protected  void | paintContentBorderRightEdge(Graphics g,
                            int tabPlacement,
                            int selectedIndex,
                            int x,
                            int y,
                            int w,
                            int h) | 
| protected  void | paintContentBorderTopEdge(Graphics g,
                          int tabPlacement,
                          int selectedIndex,
                          int x,
                          int y,
                          int w,
                          int h) | 
| protected  void | paintFocusIndicator(Graphics g,
                    int tabPlacement,
                    Rectangle[] rects,
                    int tabIndex,
                    Rectangle iconRect,
                    Rectangle textRect,
                    boolean isSelected) | 
| protected  void | paintIcon(Graphics g,
          int tabPlacement,
          int tabIndex,
          Icon icon,
          Rectangle iconRect,
          boolean isSelected) | 
| protected  void | paintTab(Graphics g,
         int tabPlacement,
         Rectangle[] rects,
         int tabIndex,
         Rectangle iconRect,
         Rectangle textRect) | 
| protected  void | paintTabArea(Graphics g,
             int tabPlacement,
             int selectedIndex)Paints the tabs in the tab area. | 
| protected  void | paintTabBackground(Graphics g,
                   int tabPlacement,
                   int tabIndex,
                   int x,
                   int y,
                   int w,
                   int h,
                   boolean isSelected) | 
| protected  void | paintTabBorder(Graphics g,
               int tabPlacement,
               int tabIndex,
               int x,
               int y,
               int w,
               int h,
               boolean isSelected)this function draws the border around each tab note that this function does now draw the background of the tab. | 
| protected  void | paintText(Graphics g,
          int tabPlacement,
          Font font,
          FontMetrics metrics,
          int tabIndex,
          String title,
          Rectangle textRect,
          boolean isSelected) | 
| protected static void | rotateInsets(Insets topInsets,
             Insets targetInsets,
             int targetPlacement) | 
| protected  void | selectAdjacentRunTab(int tabPlacement,
                     int tabIndex,
                     int offset) | 
| protected  void | selectNextTab(int current) | 
| protected  void | selectNextTabInRun(int current) | 
| protected  void | selectPreviousTab(int current) | 
| protected  void | selectPreviousTabInRun(int current) | 
| protected  void | setRolloverTab(int index)Sets the tab the mouse is currently over to index. | 
| protected  void | setVisibleComponent(Component component) | 
| protected  boolean | shouldPadTabRun(int tabPlacement,
                int run) | 
| protected  boolean | shouldRotateTabRuns(int tabPlacement) | 
|  int | tabForCoordinate(JTabbedPane pane,
                 int x,
                 int y)Returns the tab index which intersects the specified point in the JTabbedPane's coordinate space. | 
| protected  void | uninstallComponents()Removes any installed subcomponents from the JTabbedPane. | 
| protected  void | uninstallDefaults() | 
| protected  void | uninstallKeyboardActions() | 
| protected  void | uninstallListeners() | 
|  void | uninstallUI(JComponent c)Reverses configuration which was done on the specified component during installUI. | 
| Methods inherited from class javax.swing.plaf.ComponentUI | 
|---|
| contains, getAccessibleChild, getAccessibleChildrenCount, getPreferredSize, update | 
| Methods inherited from class java.lang.Object | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Field Detail | 
|---|
protected JTabbedPane tabPane
protected Color highlight
protected Color lightHighlight
protected Color shadow
protected Color darkShadow
protected Color focus
protected int textIconGap
protected int tabRunOverlay
protected Insets tabInsets
protected Insets selectedTabPadInsets
protected Insets tabAreaInsets
protected Insets contentBorderInsets
@Deprecated protected KeyStroke upKey
@Deprecated protected KeyStroke downKey
@Deprecated protected KeyStroke leftKey
@Deprecated protected KeyStroke rightKey
protected int[] tabRuns
protected int runCount
protected int selectedRun
protected Rectangle[] rects
protected int maxTabHeight
protected int maxTabWidth
protected ChangeListener tabChangeListener
protected PropertyChangeListener propertyChangeListener
protected MouseListener mouseListener
protected FocusListener focusListener
protected transient Rectangle calcRect
| Constructor Detail | 
|---|
public BasicTabbedPaneUI()
| Method Detail | 
|---|
public static ComponentUI createUI(JComponent c)
public void installUI(JComponent c)
ComponentUIComponentUI instance is being installed
 as the UI delegate on the specified component.  This method should
 completely configure the component for the look and feel,
 including the following:
 LayoutManager on the component if necessary.
 PropertyChangeListener on the component in order
     to detect and respond to component property changes appropriately.
 
installUI in class ComponentUIc - the component where this UI delegate is being installedComponentUI.uninstallUI(javax.swing.JComponent), 
JComponent.setUI(javax.swing.plaf.ComponentUI), 
JComponent.updateUI()public void uninstallUI(JComponent c)
ComponentUIinstallUI.  This method is invoked when this 
 UIComponent instance is being removed as the UI delegate 
 for the specified component.  This method should undo the
 configuration performed in installUI, being careful to 
 leave the JComponent instance in a clean state (no 
 extraneous listeners, look-and-feel-specific property objects, etc.).
 This should include the following:
 
uninstallUI in class ComponentUIc - the component from which this UI delegate is being removed;
          this argument is often ignored,
          but might be used if the UI object is stateless
          and shared by multiple componentsComponentUI.installUI(javax.swing.JComponent), 
JComponent.updateUI()protected LayoutManager createLayoutManager()
installUI to create
 a layout manager object to manage
 the JTabbedPane.
BasicTabbedPaneUI.TabbedPaneLayout, 
JTabbedPane.getTabLayoutPolicy()protected void installComponents()
protected JButton createScrollButton(int direction)
direction - One of the SwingConstants constants:
 SOUTH, NORTH, EAST or WEST
IllegalArgumentException - if direction is not one of
         NORTH, SOUTH, EAST or WESTJTabbedPane.setTabPlacement(int), 
SwingConstantsprotected void uninstallComponents()
protected void installDefaults()
protected void uninstallDefaults()
protected void installListeners()
protected void uninstallListeners()
protected MouseListener createMouseListener()
protected FocusListener createFocusListener()
protected ChangeListener createChangeListener()
protected PropertyChangeListener createPropertyChangeListener()
protected void installKeyboardActions()
protected void uninstallKeyboardActions()
protected 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.
index - Index of the tab the mouse is over.protected int getRolloverTab()
index - Index of the tab the mouse is over.public Dimension getMinimumSize(JComponent c)
ComponentUInull is returned, the minimum
 size will be calculated by the component's layout manager instead 
 (this is the preferred approach for any component with a specific
 layout manager installed).  The default implementation of this 
 method invokes getPreferredSize and returns that value.
getMinimumSize in class ComponentUIc - the component whose minimum size is being queried;
          this argument is often ignored,
          but might be used if the UI object is stateless
          and shared by multiple components
Dimension object or nullJComponent.getMinimumSize(), 
LayoutManager.minimumLayoutSize(java.awt.Container), 
ComponentUI.getPreferredSize(javax.swing.JComponent)public Dimension getMaximumSize(JComponent c)
ComponentUInull is returned, the maximum
 size will be calculated by the component's layout manager instead 
 (this is the preferred approach for any component with a specific
 layout manager installed).  The default implementation of this 
 method invokes getPreferredSize and returns that value.
getMaximumSize in class ComponentUIc - the component whose maximum size is being queried;
          this argument is often ignored,
          but might be used if the UI object is stateless
          and shared by multiple components
Dimension object or nullJComponent.getMaximumSize(), 
LayoutManager2.maximumLayoutSize(java.awt.Container)
public void paint(Graphics g,
                  JComponent c)
ComponentUIComponentUI.update method when 
 the specified component is being painted.  Subclasses should override 
 this method and use the specified Graphics object to 
 render the content of the component.
paint in class ComponentUIg - the Graphics context in which to paintc - the component being painted;
          this argument is often ignored,
          but might be used if the UI object is stateless
          and shared by multiple componentsComponentUI.update(java.awt.Graphics, javax.swing.JComponent)
protected void paintTabArea(Graphics g,
                            int tabPlacement,
                            int selectedIndex)
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.
g - the graphics object to use for renderingtabPlacement - the placement for the tabs within the JTabbedPaneselectedIndex - the tab index of the selected component
protected void paintTab(Graphics g,
                        int tabPlacement,
                        Rectangle[] rects,
                        int tabIndex,
                        Rectangle iconRect,
                        Rectangle textRect)
protected void layoutLabel(int tabPlacement,
                           FontMetrics metrics,
                           int tabIndex,
                           String title,
                           Icon icon,
                           Rectangle tabRect,
                           Rectangle iconRect,
                           Rectangle textRect,
                           boolean isSelected)
protected void paintIcon(Graphics g,
                         int tabPlacement,
                         int tabIndex,
                         Icon icon,
                         Rectangle iconRect,
                         boolean isSelected)
protected void paintText(Graphics g,
                         int tabPlacement,
                         Font font,
                         FontMetrics metrics,
                         int tabIndex,
                         String title,
                         Rectangle textRect,
                         boolean isSelected)
protected int getTabLabelShiftX(int tabPlacement,
                                int tabIndex,
                                boolean isSelected)
protected int getTabLabelShiftY(int tabPlacement,
                                int tabIndex,
                                boolean isSelected)
protected void paintFocusIndicator(Graphics g,
                                   int tabPlacement,
                                   Rectangle[] rects,
                                   int tabIndex,
                                   Rectangle iconRect,
                                   Rectangle textRect,
                                   boolean isSelected)
protected void paintTabBorder(Graphics g,
                              int tabPlacement,
                              int tabIndex,
                              int x,
                              int y,
                              int w,
                              int h,
                              boolean isSelected)
protected void paintTabBackground(Graphics g,
                                  int tabPlacement,
                                  int tabIndex,
                                  int x,
                                  int y,
                                  int w,
                                  int h,
                                  boolean isSelected)
protected void paintContentBorder(Graphics g,
                                  int tabPlacement,
                                  int selectedIndex)
protected void paintContentBorderTopEdge(Graphics g,
                                         int tabPlacement,
                                         int selectedIndex,
                                         int x,
                                         int y,
                                         int w,
                                         int h)
protected void paintContentBorderLeftEdge(Graphics g,
                                          int tabPlacement,
                                          int selectedIndex,
                                          int x,
                                          int y,
                                          int w,
                                          int h)
protected void paintContentBorderBottomEdge(Graphics g,
                                            int tabPlacement,
                                            int selectedIndex,
                                            int x,
                                            int y,
                                            int w,
                                            int h)
protected void paintContentBorderRightEdge(Graphics g,
                                           int tabPlacement,
                                           int selectedIndex,
                                           int x,
                                           int y,
                                           int w,
                                           int h)
public Rectangle getTabBounds(JTabbedPane pane,
                              int i)
getTabBounds in class TabbedPaneUIpublic int getTabRunCount(JTabbedPane pane)
getTabRunCount in class TabbedPaneUI
public int tabForCoordinate(JTabbedPane pane,
                            int x,
                            int y)
tabForCoordinate in class TabbedPaneUI
protected Rectangle getTabBounds(int tabIndex,
                                 Rectangle dest)
Rectangle instance.
 The handling of invalid parameters is unspecified.
tabIndex - the index of the tabdest - the rectangle where the result should be placed
protected Component getVisibleComponent()
protected void setVisibleComponent(Component component)
protected void assureRectsCreated(int tabCount)
protected void expandTabRunsArray()
protected int getRunForTab(int tabCount,
                           int tabIndex)
protected int lastTabInRun(int tabCount,
                           int run)
protected int getTabRunOverlay(int tabPlacement)
protected int getTabRunIndent(int tabPlacement,
                              int run)
protected boolean shouldPadTabRun(int tabPlacement,
                                  int run)
protected boolean shouldRotateTabRuns(int tabPlacement)
protected Icon getIconForTab(int tabIndex)
protected View getTextViewForTab(int tabIndex)
tabIndex - the index of the tab
protected int calculateTabHeight(int tabPlacement,
                                 int tabIndex,
                                 int fontHeight)
protected int calculateMaxTabHeight(int tabPlacement)
protected int calculateTabWidth(int tabPlacement,
                                int tabIndex,
                                FontMetrics metrics)
protected int calculateMaxTabWidth(int tabPlacement)
protected int calculateTabAreaHeight(int tabPlacement,
                                     int horizRunCount,
                                     int maxTabHeight)
protected int calculateTabAreaWidth(int tabPlacement,
                                    int vertRunCount,
                                    int maxTabWidth)
protected Insets getTabInsets(int tabPlacement,
                              int tabIndex)
protected Insets getSelectedTabPadInsets(int tabPlacement)
protected Insets getTabAreaInsets(int tabPlacement)
protected Insets getContentBorderInsets(int tabPlacement)
protected FontMetrics getFontMetrics()
protected void navigateSelectedTab(int direction)
protected void selectNextTabInRun(int current)
protected void selectPreviousTabInRun(int current)
protected void selectNextTab(int current)
protected void selectPreviousTab(int current)
protected void selectAdjacentRunTab(int tabPlacement,
                                    int tabIndex,
                                    int offset)
protected int getFocusIndex()
protected int getTabRunOffset(int tabPlacement,
                              int tabCount,
                              int tabIndex,
                              boolean forward)
protected int getPreviousTabIndex(int base)
protected int getNextTabIndex(int base)
protected int getNextTabIndexInRun(int tabCount,
                                   int base)
protected int getPreviousTabIndexInRun(int tabCount,
                                       int base)
protected int getPreviousTabRun(int baseRun)
protected int getNextTabRun(int baseRun)
protected static void rotateInsets(Insets topInsets,
                                   Insets targetInsets,
                                   int targetPlacement)
| 
 | JavaTM 2 Platform Standard Ed. 5.0 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.