Prev Class | Next Class | Frames | No Frames |
Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Object
javax.swing.plaf.ComponentUI
javax.swing.plaf.TabbedPaneUI
javax.swing.plaf.basic.BasicTabbedPaneUI
Nested Class Summary | |
class |
|
class |
|
class |
|
class |
|
class |
|
Field Summary | |
protected Rectangle |
|
protected Insets |
|
protected Color |
|
protected KeyStroke |
|
protected Color |
|
protected FocusListener |
|
protected Color |
|
protected KeyStroke |
|
protected Color |
|
protected int |
|
protected int |
|
protected MouseListener |
|
protected PropertyChangeListener |
|
protected Rectangle[] |
|
protected KeyStroke |
|
protected int |
|
protected int |
|
protected Insets |
|
protected Color |
|
protected Insets |
|
protected ChangeListener |
|
protected Insets |
|
protected JTabbedPane |
|
protected int |
|
protected int[] |
|
protected int |
|
protected KeyStroke |
|
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 | |
|
Method Summary | |
protected void |
|
protected int |
|
protected int |
|
protected int |
|
protected int |
|
protected int |
|
protected int |
|
protected ChangeListener |
|
protected FocusListener |
|
protected LayoutManager |
|
protected MouseListener |
|
protected PropertyChangeListener |
|
static ComponentUI |
|
protected void |
|
protected Insets |
|
protected FontMetrics |
|
protected Icon |
|
Dimension |
|
Dimension |
|
protected int |
|
protected int |
|
protected int |
|
protected int |
|
protected int |
|
protected int |
|
protected int |
|
protected int |
|
protected Insets |
|
protected Insets |
|
protected Rectangle |
|
Rectangle |
|
protected Insets |
|
protected int |
|
protected int |
|
int |
|
protected int |
|
protected int |
|
protected int |
|
protected View |
|
protected Component |
|
protected void |
|
protected void |
|
protected void |
|
protected void |
|
void |
|
protected int |
|
protected void |
|
protected void |
|
void |
|
protected void |
|
protected void |
|
protected void |
|
protected void |
|
protected void |
|
protected void |
|
protected void | |
protected void | |
protected void |
|
protected void |
|
protected void |
|
protected void | |
protected static void |
|
protected void |
|
protected void |
|
protected void |
|
protected void |
|
protected void |
|
protected void |
|
protected void |
|
protected boolean |
|
protected boolean |
|
int |
|
protected void |
|
protected void |
|
protected void |
|
protected void |
|
void |
|
Methods inherited from class javax.swing.plaf.TabbedPaneUI | |
getTabBounds , getTabRunCount , tabForCoordinate |
Methods inherited from class javax.swing.plaf.ComponentUI | |
contains , createUI , getAccessibleChild , getAccessibleChildrenCount , getMaximumSize , getMinimumSize , getPreferredSize , installUI , paint , uninstallUI , update |
Methods inherited from class java.lang.Object | |
clone , equals , extends Object> getClass , finalize , hashCode , notify , notifyAll , toString , wait , wait , wait |
protected Color darkShadow
The outer bottom and right edge color for both the tab and content border.
protected Color lightHighlight
The top and left edge color for both the tab and content border.
protected PropertyChangeListener propertyChangeListener
The listener that listens for property change events.
protected Rectangle[] rects
An array of Rectangles keeping track of the tabs' area and position.
protected ChangeListener tabChangeListener
The listener that listens for change events.
protected int[] tabRuns
This array keeps track of which tabs are in which run. The value at index i denotes the index of the first tab in run i. If the value for any index (i > 0) is 0 then (i - 1) is the last run.
protected void assureRectsCreated(int tabCount)
This method assures that enough rectangles are created given the tabCount. The old array is copied to the new one.
- Parameters:
tabCount
- The number of tabs.
protected int calculateMaxTabHeight(int tabPlacement)
This method returns the max tab height.
- Parameters:
tabPlacement
- The JTabbedPane's tab placement.
- Returns:
- The maximum tab height.
protected int calculateMaxTabWidth(int tabPlacement)
This method calculates the max tab width.
- Parameters:
tabPlacement
- The JTabbedPane's tab placement.
- Returns:
- The maximum tab width.
protected int calculateTabAreaHeight(int tabPlacement, int horizRunCount, int maxTabHeight)
This method calculates the tab area height, including insets, for the given amount of runs and tab height.
- Parameters:
tabPlacement
- The JTabbedPane's tab placement.horizRunCount
- The number of runs.maxTabHeight
- The max tab height.
- Returns:
- The tab area height.
protected int calculateTabAreaWidth(int tabPlacement, int vertRunCount, int maxTabWidth)
This method calculates the tab area width, including insets, for the given amount of runs and tab width.
- Parameters:
tabPlacement
- The JTabbedPane's tab placement.vertRunCount
- The number of runs.maxTabWidth
- The max tab width.
- Returns:
- The tab area width.
protected int calculateTabHeight(int tabPlacement, int tabIndex, int fontHeight)
This method returns the tab height, including insets, for the given index and fontheight.
- Parameters:
tabPlacement
- The JTabbedPane's tab placement.tabIndex
- The index of the tab to calculate.fontHeight
- The font height.
- Returns:
- This tab's height.
protected int calculateTabWidth(int tabPlacement, int tabIndex, FontMetrics metrics)
This method calculates the tab width, including insets, for the given tab index and font metrics.
- Parameters:
tabPlacement
- The JTabbedPane's tab placement.tabIndex
- The tab index to calculate for.metrics
- The font's metrics.
- Returns:
- The tab width for the given index.
protected ChangeListener createChangeListener()
This method creates a new ChangeListener.
- Returns:
- A new ChangeListener.
protected FocusListener createFocusListener()
This method creates a new FocusListener.
- Returns:
- A new FocusListener.
protected LayoutManager createLayoutManager()
This method creates the appropriate layout manager for the JTabbedPane's current tab layout policy. If the tab layout policy is SCROLL_TAB_LAYOUT, then all the associated components that need to be created will be done so now.
- Returns:
- A layout manager given the tab layout policy.
protected MouseListener createMouseListener()
This method creates a new MouseListener.
- Returns:
- A new MouseListener.
protected PropertyChangeListener createPropertyChangeListener()
This method creates a new PropertyChangeListener.
- Returns:
- A new PropertyChangeListener.
public static ComponentUI createUI(JComponent c)
This method creates a new BasicTabbedPaneUI.
- Overrides:
- createUI in interface ComponentUI
- Parameters:
c
- The JComponent to create a UI for.
- Returns:
- A new BasicTabbedPaneUI.
protected void expandTabRunsArray()
This method expands the tabRuns array to give it more room. The old array is copied to the new one.
protected Insets getContentBorderInsets(int tabPlacement)
This method returns the content border insets appropriately rotated.
- Parameters:
tabPlacement
- The JTabbedPane's tab placement.
- Returns:
- The content border insets.
protected FontMetrics getFontMetrics()
This method returns the fontmetrics for the font of the JTabbedPane.
- Returns:
- The font metrics for the JTabbedPane.
protected Icon getIconForTab(int tabIndex)
This method returns an icon for the tab. If the tab is disabled, it should return the disabledIcon. If it is enabled, then it should return the default icon.
- Parameters:
tabIndex
- The tab index to get an icon for.
- Returns:
- The icon for the tab index.
public Dimension getMaximumSize(JComponent c)
This method returns the maximum size of the JTabbedPane.
- Overrides:
- getMaximumSize in interface ComponentUI
- Parameters:
c
- The JComponent to find a size for.
- Returns:
- The maximum size.
public Dimension getMinimumSize(JComponent c)
This method returns the minimum size of the JTabbedPane.
- Overrides:
- getMinimumSize in interface ComponentUI
- Parameters:
c
- The JComponent to find a size for.
- Returns:
- The minimum size.
protected int getNextTabIndex(int base)
This method returns the next tab index.
- Parameters:
base
- The index to start from.
- Returns:
- The next tab index.
protected int getNextTabIndexInRun(int tabCount, int base)
This method returns the next tab index in the run. If the next index is out of this run, it will return the starting tab index for the run.
- Parameters:
tabCount
- The number of tabs.base
- The index to start from.
- Returns:
- The next tab index in the run.
protected int getNextTabRun(int baseRun)
This method returns the index of the next run.
- Parameters:
baseRun
- The run to start from.
- Returns:
- The index of the next run.
protected int getPreviousTabIndex(int base)
This method returns the previous tab index.
- Parameters:
base
- The index to start from.
- Returns:
- The previous tab index.
protected int getPreviousTabIndexInRun(int tabCount, int base)
This method returns the previous tab index in the run. If the previous index is out of this run, it will return the last index for the run.
- Parameters:
tabCount
- The number of tabs.base
- The index to start from.
- Returns:
- The previous tab index in the run.
protected int getPreviousTabRun(int baseRun)
This method returns the index of the previous run.
- Parameters:
baseRun
- The run to start from.
- Returns:
- The index of the previous run.
protected int getRolloverTab()
Retunrs the index of the tab over which the mouse is currently moving, or-1
for no tab.
- Returns:
- the index of the tab over which the mouse is currently moving, or
-1
for no tab
- Since:
- 1.5
protected int getRunForTab(int tabCount, int tabIndex)
This method returns which run a particular tab belongs to.
- Parameters:
tabCount
- The number of tabs.tabIndex
- The tab to find.
- Returns:
- The tabRuns index that it belongs to.
protected Insets getSelectedTabPadInsets(int tabPlacement)
This method returns the selected tab pad insets appropriately rotated.
- Parameters:
tabPlacement
- The JTabbedPane's tab placement.
- Returns:
- The selected tab pad insets.
protected Insets getTabAreaInsets(int tabPlacement)
This method returns the tab area insets appropriately rotated.
- Parameters:
tabPlacement
- The JTabbedPane's tab placement.
- Returns:
- The tab area insets.
protected Rectangle getTabBounds(int tabIndex, Rectangle dest)
This method returns the tab bounds in the given rectangle. The returned rectangle will be shifted by the current scroll offset if the tabbed pane is in scrolling tab layout mode..
- Parameters:
tabIndex
- The index to get bounds for.dest
- The rectangle to store bounds in.
- Returns:
- The rectangle passed in.
public Rectangle getTabBounds(JTabbedPane pane, int i)
This method returns the bounds of a tab for the given index and shifts it by the current scrolling offset if the tabbed pane is in scrolling tab layout mode. Subclassses should retrievs a tab's bounds by this method if they want to find out whether the tab is currently visible.
- Overrides:
- getTabBounds in interface TabbedPaneUI
- Parameters:
pane
- The JTabbedPane.i
- The index to look for.
- Returns:
- The bounds of the tab with the given index.
protected Insets getTabInsets(int tabPlacement, int tabIndex)
This method returns the tab insets appropriately rotated.
- Parameters:
tabPlacement
- The JTabbedPane's tab placement.tabIndex
- The tab index.
- Returns:
- The tab insets for the given index.
protected int getTabLabelShiftX(int tabPlacement, int tabIndex, boolean isSelected)
This method returns how much the label for the tab should shift in the X direction.
- Parameters:
tabPlacement
- The JTabbedPane's tab placement.tabIndex
- The tab index being painted.isSelected
- Whether this tab is selected.
- Returns:
- The amount the label should shift by in the X direction.
protected int getTabLabelShiftY(int tabPlacement, int tabIndex, boolean isSelected)
This method returns how much the label for the tab should shift in the Y direction.
- Parameters:
tabPlacement
- The JTabbedPane's tab placement.tabIndex
- The tab index being painted.isSelected
- Whether this tab is selected.
- Returns:
- The amount the label should shift by in the Y direction.
public int getTabRunCount(JTabbedPane pane)
This method returns the number of runs.
- Overrides:
- getTabRunCount in interface TabbedPaneUI
- Parameters:
pane
- The JTabbedPane.
- Returns:
- The number of runs.
protected int getTabRunIndent(int tabPlacement, int run)
This method returns the tab run indent. It is used in WRAP_TAB_LAYOUT and makes each tab run start indented by a certain amount.
- Parameters:
tabPlacement
- The JTabbedPane's tab placement.run
- The run to get indent for.
- Returns:
- The amount a run should be indented.
protected int getTabRunOffset(int tabPlacement, int tabCount, int tabIndex, boolean forward)
This method calculates the offset distance for use in selectAdjacentRunTab. The offset returned will be a difference in the y coordinate between the run in the desired direction and the current run (for tabPlacement in TOP or BOTTOM). Use x coordinate for LEFT and RIGHT.
- Parameters:
tabPlacement
- The JTabbedPane's tab placement.tabCount
- The number of tabs.tabIndex
- The starting index.forward
- If forward, the run in the desired direction will be the next run.
- Returns:
- The offset between the two runs.
protected int getTabRunOverlay(int tabPlacement)
This method returns the tab run overlay.
- Parameters:
tabPlacement
- The JTabbedPane's tab placement.
- Returns:
- The tab run overlay.
protected View getTextViewForTab(int tabIndex)
This method returns a view that can paint the text for the label.
- Parameters:
tabIndex
- The tab index to get a view for.
- Returns:
- The view for the tab index.
protected Component getVisibleComponent()
This method returns the component that is shown in the content area.
- Returns:
- The component that is shown in the content area.
protected void installComponents()
This method installs components for this JTabbedPane.
protected void installDefaults()
This method installs defaults for the Look and Feel.
protected void installKeyboardActions()
This method installs keyboard actions for the JTabbedPane.
protected void installListeners()
This method creates and installs the listeners for this UI.
public void installUI(JComponent c)
This method installs the UI for the given JComponent.
- Overrides:
- installUI in interface ComponentUI
- Parameters:
c
- The JComponent to install the UI for.
protected int lastTabInRun(int tabCount, int run)
This method returns the index of the last tab in a run.
- Parameters:
tabCount
- The number of tabs.run
- The run to check.
- Returns:
- The last tab in the given run.
protected void layoutLabel(int tabPlacement, FontMetrics metrics, int tabIndex, String title, Icon icon, Rectangle tabRect, Rectangle iconRect, Rectangle textRect, boolean isSelected)
This method lays out the tab and finds the location to paint the icon and text.
- Parameters:
tabPlacement
- The JTabbedPane's tab placement.metrics
- The font metrics for the font to paint with.tabIndex
- The tab index to paint.title
- The string painted.icon
- The icon painted.tabRect
- The tab bounds.iconRect
- The calculated icon bounds.textRect
- The calculated text bounds.isSelected
- Whether this tab is selected.
protected void navigateSelectedTab(int direction)
This method navigates from the selected tab into the given direction. As a result, a new tab will be selected (if possible).
- Parameters:
direction
- The direction to navigate in.
public void paint(Graphics g, JComponent c)
This method paints the JTabbedPane.
- Overrides:
- paint in interface ComponentUI
- Parameters:
g
- The Graphics object to paint with.c
- The JComponent to paint.
protected void paintContentBorder(Graphics g, int tabPlacement, int selectedIndex)
This method paints the border around the content area.
- Parameters:
g
- The Graphics object to paint with.tabPlacement
- The JTabbedPane's tab placement.selectedIndex
- The index of the selected tab.
protected void paintContentBorderBottomEdge(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h)
This method paints the bottom edge of the content border.
- Parameters:
g
- The Graphics object to paint with.tabPlacement
- The JTabbedPane's tab placement.selectedIndex
- The selected tab index.x
- The x coordinate for the content area.y
- The y coordinate for the content area.w
- The width of the content area.h
- The height of the content area.
protected void paintContentBorderLeftEdge(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h)
This method paints the left edge of the content border.
- Parameters:
g
- The Graphics object to paint with.tabPlacement
- The JTabbedPane's tab placement.selectedIndex
- The selected tab index.x
- The x coordinate for the content area.y
- The y coordinate for the content area.w
- The width of the content area.h
- The height of the content area.
protected void paintContentBorderRightEdge(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h)
This method paints the right edge of the content border.
- Parameters:
g
- The Graphics object to paint with.tabPlacement
- The JTabbedPane's tab placement.selectedIndex
- The selected tab index.x
- The x coordinate for the content area.y
- The y coordinate for the content area.w
- The width of the content area.h
- The height of the content area.
protected void paintContentBorderTopEdge(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h)
This method paints the top edge of the content border.
- Parameters:
g
- The Graphics object to paint with.tabPlacement
- The JTabbedPane's tab placement.selectedIndex
- The selected tab index.x
- The x coordinate for the content area.y
- The y coordinate for the content area.w
- The width of the content area.h
- The height of the content area.
protected void paintFocusIndicator(Graphics g, int tabPlacement, Rectangle[] rects, int tabIndex, Rectangle iconRect, Rectangle textRect, boolean isSelected)
This method paints the focus rectangle around the selected tab.
- Parameters:
g
- The Graphics object to paint with.tabPlacement
- The JTabbedPane's tab placement.rects
- The array of rectangles keeping track of size and position.tabIndex
- The tab index.iconRect
- The icon bounds.textRect
- The text bounds.isSelected
- Whether this tab is selected.
protected void paintIcon(Graphics g, int tabPlacement, int tabIndex, Icon icon, Rectangle iconRect, boolean isSelected)
This method paints the icon.
- Parameters:
g
- The Graphics object to paint.tabPlacement
- The JTabbedPane's tab placement.tabIndex
- The tab index to paint.icon
- The icon to paint.iconRect
- The bounds of the icon.isSelected
- Whether this tab is selected.
protected void paintTab(Graphics g, int tabPlacement, Rectangle[] rects, int tabIndex, Rectangle iconRect, Rectangle textRect)
This method paints an individual tab.
- Parameters:
g
- The Graphics object to paint with.tabPlacement
- The JTabbedPane's tab placement.rects
- The array of rectangles that keep the size and position of the tabs.tabIndex
- The tab index to paint.iconRect
- The rectangle to use for the icon.textRect
- The rectangle to use for the text.
protected void paintTabArea(Graphics g, int tabPlacement, int selectedIndex)
This method paints the tab area. This includes painting the rectangles that make up the tabs.
- Parameters:
g
- The Graphics object to paint with.tabPlacement
- The JTabbedPane's tab placement.selectedIndex
- The selected index.
protected void paintTabBackground(Graphics g, int tabPlacement, int tabIndex, int x, int y, int w, int h, boolean isSelected)
This method paints the background for an individual tab.
- Parameters:
g
- The Graphics object to paint with.tabPlacement
- The JTabbedPane's tab placement.tabIndex
- The tab index.x
- The x position of the tab.y
- The y position of the tab.w
- The width of the tab.h
- The height of the tab.isSelected
- Whether the tab is selected.
protected void paintTabBorder(Graphics g, int tabPlacement, int tabIndex, int x, int y, int w, int h, boolean isSelected)
This method paints the border for an individual tab.
- Parameters:
g
- The Graphics object to paint with.tabPlacement
- The JTabbedPane's tab placement.tabIndex
- The tab index.x
- The x position of the tab.y
- The y position of the tab.w
- The width of the tab.h
- The height of the tab.isSelected
- Whether the tab is selected.
protected void paintText(Graphics g, int tabPlacement, Font font, FontMetrics metrics, int tabIndex, String title, Rectangle textRect, boolean isSelected)
This method paints the text for the given tab.
- Parameters:
g
- The Graphics object to paint with.tabPlacement
- The JTabbedPane's tab placement.font
- The font to paint with.metrics
- The fontmetrics of the given font.tabIndex
- The tab index.title
- The string to paint.textRect
- The bounds of the string.isSelected
- Whether this tab is selected.
protected static void rotateInsets(Insets topInsets, Insets targetInsets, int targetPlacement)
This method rotates the insets given a direction to rotate them in. Target placement should be one of TOP, LEFT, BOTTOM, RIGHT. The rotated insets will be stored in targetInsets. Passing in TOP as the direction does nothing. Passing in LEFT switches top and left, right and bottom. Passing in BOTTOM switches top and bottom. Passing in RIGHT switches top for left, left for bottom, bottom for right, and right for top.
- Parameters:
topInsets
- The reference insets.targetInsets
- An Insets object to store the new insets.targetPlacement
- The rotation direction.
protected void selectAdjacentRunTab(int tabPlacement, int tabIndex, int offset)
This method selects the correct tab given an offset from the current tab index. If the tab placement is TOP or BOTTOM, the offset will be in the y direction, otherwise, it will be in the x direction. A new coordinate will be found by adding the offset to the current location of the tab. The tab that the new location will be selected.
- Parameters:
tabPlacement
- The JTabbedPane's tab placement.tabIndex
- The tab to start from.offset
- The coordinate offset.
protected void selectNextTab(int current)
This method selects the next tab (regardless of runs).
- Parameters:
current
- The current selected index.
protected void selectNextTabInRun(int current)
This method selects the next tab in the run.
- Parameters:
current
- The current selected index.
protected void selectPreviousTab(int current)
This method selects the previous tab (regardless of runs).
- Parameters:
current
- The current selected index.
protected void selectPreviousTabInRun(int current)
This method selects the previous tab in the run.
- Parameters:
current
- The current selected index.
protected void setRolloverTab(int index)
Sets the tab which should be highlighted when in rollover mode. Andindex
of-1
means that the rollover tab is deselected (i.e. the mouse is outside of the tabarea).
- Parameters:
index
- the index of the tab that is under the mouse,-1
for no tab
- Since:
- 1.5
protected void setVisibleComponent(Component component)
This method sets the visible component.
- Parameters:
component
- The component to be set visible.
protected boolean shouldPadTabRun(int tabPlacement, int run)
This method returns whether a tab run should be padded.
- Parameters:
tabPlacement
- The JTabbedPane's tab placement.run
- The run to check.
- Returns:
- Whether the given run should be padded.
protected boolean shouldRotateTabRuns(int tabPlacement)
This method returns whether the tab runs should be rotated.
- Parameters:
tabPlacement
- The JTabbedPane's tab placement.
- Returns:
- Whether runs should be rotated.
public int tabForCoordinate(JTabbedPane pane, int x, int y)
This method returns the tab index given a coordinate.
- Overrides:
- tabForCoordinate in interface TabbedPaneUI
- Parameters:
pane
- The JTabbedPane.x
- The x coordinate.y
- The y coordinate.
- Returns:
- The tab index that the coordinate lands in.
protected void uninstallComponents()
This method uninstalls components for this JTabbedPane.
protected void uninstallDefaults()
This method uninstalls defaults for the Look and Feel.
protected void uninstallKeyboardActions()
This method uninstalls keyboard actions for the JTabbedPane.
protected void uninstallListeners()
This method removes and nulls the listeners for this UI.
public void uninstallUI(JComponent c)
This method uninstalls the UI for the given JComponent.
- Overrides:
- uninstallUI in interface ComponentUI
- Parameters:
c
- The JComponent to uninstall the UI for.