javax.swing.plaf.basic
public class BasicTabbedPaneUI extends TabbedPaneUI implements SwingConstants
Nested Class Summary | |
---|---|
class | BasicTabbedPaneUI.FocusHandler
A helper class that handles focus.
|
class | BasicTabbedPaneUI.MouseHandler
A helper class for determining if mouse presses occur inside tabs and
sets the index appropriately. |
class | BasicTabbedPaneUI.PropertyChangeHandler
This class handles PropertyChangeEvents fired from the JTabbedPane.
|
class | BasicTabbedPaneUI.TabbedPaneLayout
A LayoutManager responsible for placing all the tabs and the visible
component inside the JTabbedPane. |
class | BasicTabbedPaneUI.TabSelectionHandler
This class handles ChangeEvents from the JTabbedPane.
|
Field Summary | |
---|---|
protected Rectangle | calcRect A reusable rectangle. |
protected Insets | contentBorderInsets The insets around the content area. |
protected Color | darkShadow
The outer bottom and right edge color for both the tab and content
border. |
protected KeyStroke | downKey
This is the keystroke for moving down.
|
protected Color | focus The color of the focus outline on the selected tab. |
protected FocusListener | focusListener The listener that listens for focus events. |
protected Color | highlight FIXME: find a use for this. |
protected KeyStroke | leftKey
This is the keystroke for moving left.
|
protected Color | lightHighlight The top and left edge color for both the tab and content border. |
protected int | maxTabHeight The maximum tab height. |
protected int | maxTabWidth The maximum tab width. |
protected MouseListener | mouseListener The listener that listens for mouse events. |
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 KeyStroke | rightKey
This is the keystroke for moving right.
|
protected int | runCount The number of runs in the JTabbedPane. |
protected int | selectedRun The index of the run that the selected index is in. |
protected Insets | selectedTabPadInsets The extra insets around the selected tab. |
protected Color | shadow The inner bottom and right edge color for the tab and content border. |
protected Insets | tabAreaInsets The insets around the tab area. |
protected ChangeListener | tabChangeListener The listener that listens for change events. |
protected Insets | tabInsets The insets around each and every tab. |
protected JTabbedPane | tabPane The tab pane that this UI paints. |
protected int | tabRunOverlay The amount of space each run overlaps the previous by. |
protected int[] | tabRuns This array keeps track of which tabs are in which run.
|
protected int | textIconGap The gap between text and label |
protected KeyStroke | upKey
This is the keystroke for moving up.
|
Constructor Summary | |
---|---|
BasicTabbedPaneUI()
Creates a new BasicTabbedPaneUI object. |
Method Summary | |
---|---|
protected void | assureRectsCreated(int tabCount)
This method assures that enough rectangles are created given the
tabCount. |
protected int | calculateMaxTabHeight(int tabPlacement)
This method returns the max tab height.
|
protected int | calculateMaxTabWidth(int tabPlacement)
This method calculates the max 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.
|
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.
|
protected int | calculateTabHeight(int tabPlacement, int tabIndex, int fontHeight)
This method returns the tab height, including insets, for the given index
and fontheight.
|
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.
|
protected ChangeListener | createChangeListener()
This method creates a new ChangeListener.
|
protected FocusListener | createFocusListener()
This method creates a new FocusListener.
|
protected LayoutManager | createLayoutManager()
This method creates the appropriate layout manager for the JTabbedPane's
current tab layout policy. |
protected MouseListener | createMouseListener()
This method creates a new MouseListener.
|
protected PropertyChangeListener | createPropertyChangeListener()
This method creates a new PropertyChangeListener.
|
static ComponentUI | createUI(JComponent c)
This method creates a new BasicTabbedPaneUI.
|
protected void | expandTabRunsArray()
This method expands the tabRuns array to give it more room. |
protected Insets | getContentBorderInsets(int tabPlacement)
This method returns the content border insets appropriately rotated.
|
protected FontMetrics | getFontMetrics()
This method returns the fontmetrics for the font of the JTabbedPane.
|
protected Icon | getIconForTab(int tabIndex)
This method returns an icon for the tab. |
Dimension | getMaximumSize(JComponent c)
This method returns the maximum size of the JTabbedPane.
|
Dimension | getMinimumSize(JComponent c)
This method returns the minimum size of the JTabbedPane.
|
protected int | getNextTabIndex(int base)
This method returns the next tab index.
|
protected int | getNextTabIndexInRun(int tabCount, int base)
This method returns the next tab index in the run. |
protected int | getNextTabRun(int baseRun)
This method returns the index of the next run.
|
protected int | getPreviousTabIndex(int base)
This method returns the previous tab index.
|
protected int | getPreviousTabIndexInRun(int tabCount, int base)
This method returns the previous tab index in the run. |
protected int | getPreviousTabRun(int baseRun)
This method 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.
|
protected int | getRunForTab(int tabCount, int tabIndex)
This method returns which run a particular tab belongs to.
|
protected Insets | getSelectedTabPadInsets(int tabPlacement)
This method returns the selected tab pad insets appropriately rotated.
|
protected Insets | getTabAreaInsets(int tabPlacement)
This method returns the tab area insets appropriately rotated.
|
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. |
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. . |
protected Insets | getTabInsets(int tabPlacement, int tabIndex)
This method returns the tab insets appropriately rotated.
|
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.
|
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.
|
int | getTabRunCount(JTabbedPane pane)
This method returns the number of runs.
|
protected int | getTabRunIndent(int tabPlacement, int run)
This method returns the tab run indent. |
protected int | getTabRunOffset(int tabPlacement, int tabCount, int tabIndex, boolean forward)
This method calculates the offset distance for use in
selectAdjacentRunTab. |
protected int | getTabRunOverlay(int tabPlacement)
This method returns the tab run overlay.
|
protected View | getTextViewForTab(int tabIndex)
This method returns a view that can paint the text for the label.
|
protected Component | getVisibleComponent()
This method 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. |
void | installUI(JComponent c)
This method installs the UI for the given JComponent.
|
protected int | lastTabInRun(int tabCount, int run)
This method returns the index of the last tab in a 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.
|
protected void | navigateSelectedTab(int direction)
This method navigates from the selected tab into the given direction. |
void | paint(Graphics g, JComponent c)
This method paints the JTabbedPane.
|
protected void | paintContentBorder(Graphics g, int tabPlacement, int selectedIndex)
This method paints the border around the content area.
|
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.
|
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.
|
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.
|
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.
|
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.
|
protected void | paintIcon(Graphics g, int tabPlacement, int tabIndex, Icon icon, Rectangle iconRect, boolean isSelected)
This method paints the icon.
|
protected void | paintTab(Graphics g, int tabPlacement, Rectangle[] rects, int tabIndex, Rectangle iconRect, Rectangle textRect)
This method paints an individual tab.
|
protected void | paintTabArea(Graphics g, int tabPlacement, int selectedIndex)
This method paints the tab area. |
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.
|
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.
|
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.
|
protected static void | rotateInsets(Insets topInsets, Insets targetInsets, int targetPlacement)
This method rotates the insets given a direction to rotate them in.
|
protected void | selectAdjacentRunTab(int tabPlacement, int tabIndex, int offset)
This method selects the correct tab given an offset from the current tab
index. |
protected void | selectNextTab(int current)
This method selects the next tab (regardless of runs).
|
protected void | selectNextTabInRun(int current)
This method selects the next tab in the run.
|
protected void | selectPreviousTab(int current)
This method selects the previous tab (regardless of runs).
|
protected void | selectPreviousTabInRun(int current)
This method selects the previous tab in the run.
|
protected void | setRolloverTab(int index)
Sets the tab which should be highlighted when in rollover mode. |
protected void | setVisibleComponent(Component component)
This method sets the visible component.
|
protected boolean | shouldPadTabRun(int tabPlacement, int run)
This method returns whether a tab run should be padded.
|
protected boolean | shouldRotateTabRuns(int tabPlacement)
This method returns whether the tab runs should be rotated.
|
int | tabForCoordinate(JTabbedPane pane, int x, int y)
This method returns the tab index given a coordinate.
|
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. |
void | uninstallUI(JComponent c)
This method uninstalls the UI for the given JComponent.
|
Deprecated: 1.3
This is the keystroke for moving down.Deprecated: 1.3
This is the keystroke for moving left.Deprecated: 1.3
This is the keystroke for moving right.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.
Deprecated: 1.3
This is the keystroke for moving up.Parameters: tabCount The number of tabs.
Parameters: tabPlacement The JTabbedPane's tab placement.
Returns: The maximum tab height.
Parameters: tabPlacement The JTabbedPane's tab placement.
Returns: The maximum tab width.
Parameters: tabPlacement The JTabbedPane's tab placement. horizRunCount The number of runs. maxTabHeight The max tab height.
Returns: The tab area height.
Parameters: tabPlacement The JTabbedPane's tab placement. vertRunCount The number of runs. maxTabWidth The max tab width.
Returns: The tab area width.
Parameters: tabPlacement The JTabbedPane's tab placement. tabIndex The index of the tab to calculate. fontHeight The font height.
Returns: This tab's height.
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.
Returns: A new ChangeListener.
Returns: A new FocusListener.
Returns: A layout manager given the tab layout policy.
Returns: A new MouseListener.
Returns: A new PropertyChangeListener.
Parameters: c The JComponent to create a UI for.
Returns: A new BasicTabbedPaneUI.
Parameters: tabPlacement The JTabbedPane's tab placement.
Returns: The content border insets.
Returns: The font metrics for the JTabbedPane.
Parameters: tabIndex The tab index to get an icon for.
Returns: The icon for the tab index.
Parameters: c The JComponent to find a size for.
Returns: The maximum size.
Parameters: c The JComponent to find a size for.
Returns: The minimum size.
Parameters: base The index to start from.
Returns: The next tab index.
Parameters: tabCount The number of tabs. base The index to start from.
Returns: The next tab index in the run.
Parameters: baseRun The run to start from.
Returns: The index of the next run.
Parameters: base The index to start from.
Returns: The previous tab index.
Parameters: tabCount The number of tabs. base The index to start from.
Returns: The previous tab index in the run.
Parameters: baseRun The run to start from.
Returns: The index of the previous run.
-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
Parameters: tabCount The number of tabs. tabIndex The tab to find.
Returns: The tabRuns index that it belongs to.
Parameters: tabPlacement The JTabbedPane's tab placement.
Returns: The selected tab pad insets.
Parameters: tabPlacement The JTabbedPane's tab placement.
Returns: The tab area insets.
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.
Parameters: pane The JTabbedPane. i The index to look for.
Returns: The bounds of the tab with the given index.
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.
Parameters: tabPlacement The JTabbedPane's tab placement. tabIndex The tab index.
Returns: The tab insets for the given index.
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.
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.
Parameters: pane The JTabbedPane.
Returns: The number of runs.
Parameters: tabPlacement The JTabbedPane's tab placement. run The run to get indent for.
Returns: The amount a run should be indented.
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.
Parameters: tabPlacement The JTabbedPane's tab placement.
Returns: The tab run overlay.
Parameters: tabIndex The tab index to get a view for.
Returns: The view for the tab index.
Returns: The component that is shown in the content area.
Parameters: c The JComponent to install the UI for.
Parameters: tabCount The number of tabs. run The run to check.
Returns: The last tab in the given run.
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.
Parameters: direction The direction to navigate in.
Parameters: g The Graphics object to paint with. c The JComponent to paint.
Parameters: g The Graphics object to paint with. tabPlacement The JTabbedPane's tab placement. selectedIndex The index of the selected tab.
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.
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.
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.
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.
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.
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.
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.
Parameters: g The Graphics object to paint with. tabPlacement The JTabbedPane's tab placement. selectedIndex The selected index.
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.
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.
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.
Parameters: topInsets The reference insets. targetInsets An Insets object to store the new insets. targetPlacement The rotation direction.
Parameters: tabPlacement The JTabbedPane's tab placement. tabIndex The tab to start from. offset The coordinate offset.
Parameters: current The current selected index.
Parameters: current The current selected index.
Parameters: current The current selected index.
Parameters: current The current selected index.
index
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
Parameters: component The component to be set visible.
Parameters: tabPlacement The JTabbedPane's tab placement. run The run to check.
Returns: Whether the given run should be padded.
Parameters: tabPlacement The JTabbedPane's tab placement.
Returns: Whether runs should be rotated.
Parameters: pane The JTabbedPane. x The x coordinate. y The y coordinate.
Returns: The tab index that the coordinate lands in.
Parameters: c The JComponent to uninstall the UI for.