javax.swing.plaf.basic

Class BasicTabbedPaneUI.TabbedPaneLayout

public class BasicTabbedPaneUI.TabbedPaneLayout extends Object implements LayoutManager

A LayoutManager responsible for placing all the tabs and the visible component inside the JTabbedPane. This class is only used for WRAP_TAB_LAYOUT.

UNKNOWN: Apparently this class was intended to be protected, but was made public by a compiler bug and is now public for compatibility.

Method Summary
voidaddLayoutComponent(String name, Component comp)
This method is called when a component is added to the JTabbedPane.
voidcalculateLayoutInfo()
This method is called when the rectangles need to be calculated.
protected DimensioncalculateSize(boolean minimum)
This method calculates the size of the the JTabbedPane.
protected voidcalculateTabRects(int tabPlacement, int tabCount)
This method is called to calculate the tab rectangles.
voidlayoutContainer(Container parent)
This method is called when the JTabbedPane is laid out in WRAP_TAB_LAYOUT.
DimensionminimumLayoutSize(Container parent)
This method returns the minimum layout size for the given container.
protected voidnormalizeTabRuns(int tabPlacement, int tabCount, int start, int max)
This method tries to "even out" the number of tabs in each run based on their widths.
protected voidpadSelectedTab(int tabPlacement, int selectedIndex)
This method pads the tab at the selected index by the selected tab pad insets (so that it looks larger).
protected voidpadTabRun(int tabPlacement, int start, int end, int max)
This method makes each tab in the run larger so that the tabs expand to fill the runs width/height (depending on tabPlacement).
DimensionpreferredLayoutSize(Container parent)
This method returns the preferred layout size for the given container.
protected intpreferredTabAreaHeight(int tabPlacement, int width)
This method returns the preferred tab height given a tabPlacement and width.
protected intpreferredTabAreaWidth(int tabPlacement, int height)
This method calculates the preferred tab area width given a tab placement and height.
voidremoveLayoutComponent(Component comp)
This method is called when a component is removed from the JTabbedPane.
protected voidrotateTabRuns(int tabPlacement, int selectedRun)
This method rotates the places each run in the correct place the tabRuns array.

Method Detail

addLayoutComponent

public void addLayoutComponent(String name, Component comp)
This method is called when a component is added to the JTabbedPane.

Parameters: name The name of the component. comp The component being added.

calculateLayoutInfo

public void calculateLayoutInfo()
This method is called when the rectangles need to be calculated. It also fixes the size of the visible component.

calculateSize

protected Dimension calculateSize(boolean minimum)
This method calculates the size of the the JTabbedPane.

Parameters: minimum Whether the JTabbedPane will try to be as small as it can.

Returns: The desired size of the JTabbedPane.

calculateTabRects

protected void calculateTabRects(int tabPlacement, int tabCount)
This method is called to calculate the tab rectangles. This method will calculate the size and position of all rectangles (taking into account which ones should be in which tab run). It will pad them and normalize them as necessary.

Parameters: tabPlacement The JTabbedPane's tab placement. tabCount The run the current selection is in.

layoutContainer

public void layoutContainer(Container parent)
This method is called when the JTabbedPane is laid out in WRAP_TAB_LAYOUT. It calls calculateLayoutInfo to find the positions of all its components.

Parameters: parent The Container to lay out.

minimumLayoutSize

public Dimension minimumLayoutSize(Container parent)
This method returns the minimum layout size for the given container.

Parameters: parent The container that is being sized.

Returns: The minimum size.

normalizeTabRuns

protected void normalizeTabRuns(int tabPlacement, int tabCount, int start, int max)
This method tries to "even out" the number of tabs in each run based on their widths.

Parameters: tabPlacement The JTabbedPane's tab placement. tabCount The number of tabs. start The x position where the tabs will begin. max The maximum x position where the tab can run to.

padSelectedTab

protected void padSelectedTab(int tabPlacement, int selectedIndex)
This method pads the tab at the selected index by the selected tab pad insets (so that it looks larger).

Parameters: tabPlacement The placement of the tabs. selectedIndex The selected index.

padTabRun

protected void padTabRun(int tabPlacement, int start, int end, int max)
This method makes each tab in the run larger so that the tabs expand to fill the runs width/height (depending on tabPlacement).

Parameters: tabPlacement The placement of the tabs. start The index of the first tab. end The last index of the tab max The amount of space in the run (width for TOP and BOTTOM tabPlacement).

preferredLayoutSize

public Dimension preferredLayoutSize(Container parent)
This method returns the preferred layout size for the given container.

Parameters: parent The container to size.

Returns: The preferred layout size.

preferredTabAreaHeight

protected int preferredTabAreaHeight(int tabPlacement, int width)
This method returns the preferred tab height given a tabPlacement and width.

Parameters: tabPlacement The JTabbedPane's tab placement. width The expected width.

Returns: The preferred tab area height.

preferredTabAreaWidth

protected int preferredTabAreaWidth(int tabPlacement, int height)
This method calculates the preferred tab area width given a tab placement and height.

Parameters: tabPlacement The JTabbedPane's tab placement. height The expected height.

Returns: The preferred tab area width.

removeLayoutComponent

public void removeLayoutComponent(Component comp)
This method is called when a component is removed from the JTabbedPane.

Parameters: comp The component removed.

rotateTabRuns

protected void rotateTabRuns(int tabPlacement, int selectedRun)
This method rotates the places each run in the correct place the tabRuns array. See the comment for tabRuns for how the runs are placed in the array.

Parameters: tabPlacement The JTabbedPane's tab placement. selectedRun The run the current selection is in.