javax.swing.plaf.basic

Class BasicSplitPaneUI.BasicHorizontalLayoutManager

public class BasicSplitPaneUI.BasicHorizontalLayoutManager extends Object implements LayoutManager2

This Layout Manager controls the position and size of the components when the JSplitPane's orientation is HORIZONTAL_SPLIT.

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

Field Summary
protected Component[]components
This array contains the components in the JSplitPane.
protected int[]sizes
This array contains the current width (for HORIZONTAL_SPLIT) or height (for VERTICAL_SPLIT) of the components.
Method Summary
voidaddLayoutComponent(Component comp, Object constraints)
This method adds the component given to the JSplitPane.
voidaddLayoutComponent(String place, Component component)
This method is called to add a Component to the JSplitPane.
protected intgetAvailableSize(Dimension containerSize, Insets insets)
This method returns the width of the JSplitPane minus the insets.
protected intgetInitialLocation(Insets insets)
This method returns the given insets left value.
floatgetLayoutAlignmentX(Container target)
This specifies how a component is aligned with respect to other components in the x fdirection.
floatgetLayoutAlignmentY(Container target)
This specifies how a component is aligned with respect to other components in the y direction.
protected intgetPreferredSizeOfComponent(Component c)
This method returns the preferred width of the component.
protected intgetSizeOfComponent(Component c)
This method returns the current width of the component.
protected int[]getSizes()
This method returns the sizes array.
voidinvalidateLayout(Container c)
This method invalidates the layout.
voidlayoutContainer(Container container)
This method lays out the components in the container.
DimensionmaximumLayoutSize(Container target)
This method returns the maximum size for the container given the components.
DimensionminimumLayoutSize(Container target)
This method returns the container's minimum size.
DimensionpreferredLayoutSize(Container target)
This method returns the container's preferred size.
voidremoveLayoutComponent(Component component)
This method removes the component from the layout.
protected voidresetSizeAt(int index)
This method resets the size of Component to the preferred size.
voidresetToPreferredSizes()
This method resets the sizes of all the components.
protected voidsetComponentToSize(Component c, int size, int location, Insets insets, Dimension containerSize)
This methods sets the bounds of the given component.
protected voidsetSizes(int[] newSizes)
This method stores the given int array as the new sizes array.
protected voidupdateComponents()
This method determines the size of each component.

Field Detail

components

protected Component[] components
This array contains the components in the JSplitPane. The left/top component is at index 0, the right/bottom is at 1, and the divider is at 2.

sizes

protected int[] sizes
This array contains the current width (for HORIZONTAL_SPLIT) or height (for VERTICAL_SPLIT) of the components. The indices are the same as for components.

Method Detail

addLayoutComponent

public void addLayoutComponent(Component comp, Object constraints)
This method adds the component given to the JSplitPane. The position of the component is given by the constraints object.

Parameters: comp The Component to add. constraints The constraints that bind the object.

addLayoutComponent

public void addLayoutComponent(String place, Component component)
This method is called to add a Component to the JSplitPane. The placement string determines where the Component will be placed. The string should be one of LEFT, RIGHT, TOP, BOTTOM or null (signals that the component is the divider).

Parameters: place The placement of the Component. component The Component to add.

Throws: IllegalArgumentException DOCUMENT ME!

getAvailableSize

protected int getAvailableSize(Dimension containerSize, Insets insets)
This method returns the width of the JSplitPane minus the insets.

Parameters: containerSize The Dimensions of the JSplitPane. insets The Insets of the JSplitPane.

Returns: The width of the JSplitPane minus the insets.

getInitialLocation

protected int getInitialLocation(Insets insets)
This method returns the given insets left value. If the given inset is null, then 0 is returned.

Parameters: insets The Insets to use with the JSplitPane.

Returns: The inset's left value.

getLayoutAlignmentX

public float getLayoutAlignmentX(Container target)
This specifies how a component is aligned with respect to other components in the x fdirection.

Parameters: target The container.

Returns: The component's alignment.

getLayoutAlignmentY

public float getLayoutAlignmentY(Container target)
This specifies how a component is aligned with respect to other components in the y direction.

Parameters: target The container.

Returns: The component's alignment.

getPreferredSizeOfComponent

protected int getPreferredSizeOfComponent(Component c)
This method returns the preferred width of the component.

Parameters: c The component to measure.

Returns: The preferred width of the component.

getSizeOfComponent

protected int getSizeOfComponent(Component c)
This method returns the current width of the component.

Parameters: c The component to measure.

Returns: The width of the component.

getSizes

protected int[] getSizes()
This method returns the sizes array.

Returns: The sizes array.

invalidateLayout

public void invalidateLayout(Container c)
This method invalidates the layout. It does nothing.

Parameters: c The container to invalidate.

layoutContainer

public void layoutContainer(Container container)
This method lays out the components in the container.

Parameters: container The container to lay out.

maximumLayoutSize

public Dimension maximumLayoutSize(Container target)
This method returns the maximum size for the container given the components. It returns a new Dimension object that has width and height equal to Integer.MAX_VALUE.

Parameters: target The container to measure.

Returns: The maximum size.

minimumLayoutSize

public Dimension minimumLayoutSize(Container target)
This method returns the container's minimum size. The minimum width is the sum of all the component's minimum widths. The minimum height is the maximum of all the components' minimum heights.

Parameters: target The container to measure.

Returns: The minimum size.

preferredLayoutSize

public Dimension preferredLayoutSize(Container target)
This method returns the container's preferred size. The preferred width is the sum of all the component's preferred widths. The preferred height is the maximum of all the components' preferred heights.

Parameters: target The container to measure.

Returns: The preferred size.

removeLayoutComponent

public void removeLayoutComponent(Component component)
This method removes the component from the layout.

Parameters: component The component to remove from the layout.

resetSizeAt

protected void resetSizeAt(int index)
This method resets the size of Component to the preferred size.

Parameters: index The index of the component to reset.

resetToPreferredSizes

public void resetToPreferredSizes()
This method resets the sizes of all the components.

setComponentToSize

protected void setComponentToSize(Component c, int size, int location, Insets insets, Dimension containerSize)
This methods sets the bounds of the given component. The width is the size. The height is the container size minus the top and bottom inset. The x coordinate is the location given. The y coordinate is the top inset.

Parameters: c The component to set. size The width of the component. location The x coordinate. insets The insets to use. containerSize The height of the container.

setSizes

protected void setSizes(int[] newSizes)
This method stores the given int array as the new sizes array.

Parameters: newSizes The array to use as sizes.

updateComponents

protected void updateComponents()
This method determines the size of each component. It should be called when a new Layout Manager is created for an existing JSplitPane.