Class BasicSplitPaneUI.BasicHorizontalLayoutManager

java.lang.Object
javax.swing.plaf.basic.BasicSplitPaneUI.BasicHorizontalLayoutManager
All Implemented Interfaces:
LayoutManager, LayoutManager2
Direct Known Subclasses:
BasicSplitPaneUI.BasicVerticalLayoutManager
Enclosing class:
BasicSplitPaneUI

public sealed class BasicSplitPaneUI.BasicHorizontalLayoutManager extends Object implements LayoutManager2 permits BasicSplitPaneUI.BasicVerticalLayoutManager
LayoutManager for JSplitPanes that have an orientation of HORIZONTAL_SPLIT.
  • Field Details

    • sizes

      protected int[] sizes
      The size of components.
    • components

      protected Component[] components
      The components.
  • Method Details

    • layoutContainer

      public void layoutContainer(Container container)
      Does the actual layout.
      Specified by:
      layoutContainer in interface LayoutManager
      Parameters:
      container - the container to be laid out
    • addLayoutComponent

      public void addLayoutComponent(String place, Component component)
      Adds the component at place. Place must be one of JSplitPane.LEFT, RIGHT, TOP, BOTTOM, or null (for the divider).
      Specified by:
      addLayoutComponent in interface LayoutManager
      Parameters:
      place - the string to be associated with the component
      component - the component to be added
    • minimumLayoutSize

      public Dimension minimumLayoutSize(Container container)
      Returns the minimum size needed to contain the children. The width is the sum of all the children's min widths and the height is the largest of the children's minimum heights.
      Specified by:
      minimumLayoutSize in interface LayoutManager
      Parameters:
      container - the component to be laid out
      Returns:
      the minimum dimension for the container
      See Also:
    • preferredLayoutSize

      public Dimension preferredLayoutSize(Container container)
      Returns the preferred size needed to contain the children. The width is the sum of all the preferred widths of the children and the height is the largest preferred height of the children.
      Specified by:
      preferredLayoutSize in interface LayoutManager
      Parameters:
      container - the container to be laid out
      Returns:
      the preferred dimension for the container
      See Also:
    • removeLayoutComponent

      public void removeLayoutComponent(Component component)
      Removes the specified component from our knowledge.
      Specified by:
      removeLayoutComponent in interface LayoutManager
      Parameters:
      component - the component to be removed
    • addLayoutComponent

      public void addLayoutComponent(Component comp, Object constraints)
      Adds the specified component to the layout, using the specified constraint object.
      Specified by:
      addLayoutComponent in interface LayoutManager2
      Parameters:
      comp - the component to be added
      constraints - where/how the component is added to the layout.
    • getLayoutAlignmentX

      public float getLayoutAlignmentX(Container target)
      Returns the alignment along the x axis. This specifies how the component would like to be aligned relative to other components. The value should be a number between 0 and 1 where 0 represents alignment along the origin, 1 is aligned the furthest away from the origin, 0.5 is centered, etc.
      Specified by:
      getLayoutAlignmentX in interface LayoutManager2
      Parameters:
      target - the target container
      Returns:
      the x-axis alignment preference
    • getLayoutAlignmentY

      public float getLayoutAlignmentY(Container target)
      Returns the alignment along the y axis. This specifies how the component would like to be aligned relative to other components. The value should be a number between 0 and 1 where 0 represents alignment along the origin, 1 is aligned the furthest away from the origin, 0.5 is centered, etc.
      Specified by:
      getLayoutAlignmentY in interface LayoutManager2
      Parameters:
      target - the target container
      Returns:
      the y-axis alignment preference
    • invalidateLayout

      public void invalidateLayout(Container c)
      Does nothing. If the developer really wants to change the size of one of the views JSplitPane.resetToPreferredSizes should be messaged.
      Specified by:
      invalidateLayout in interface LayoutManager2
      Parameters:
      c - the target container
    • maximumLayoutSize

      public Dimension maximumLayoutSize(Container target)
      Returns the maximum layout size, which is Integer.MAX_VALUE in both directions.
      Specified by:
      maximumLayoutSize in interface LayoutManager2
      Parameters:
      target - the target container
      Returns:
      the maximum size of the container
      See Also:
    • resetToPreferredSizes

      public void resetToPreferredSizes()
      Marks the receiver so that the next time this instance is laid out it'll ask for the preferred sizes.
    • resetSizeAt

      protected void resetSizeAt(int index)
      Resets the size of the Component at the passed in location.
      Parameters:
      index - the index of a component
    • setSizes

      protected void setSizes(int[] newSizes)
      Sets the sizes to newSizes.
      Parameters:
      newSizes - the new sizes
    • getSizes

      protected int[] getSizes()
      Returns the sizes of the components.
      Returns:
      the sizes of the components
    • getPreferredSizeOfComponent

      protected int getPreferredSizeOfComponent(Component c)
      Returns the width of the passed in Components preferred size.
      Parameters:
      c - a component
      Returns:
      the preferred width of the component
    • getSizeOfComponent

      protected int getSizeOfComponent(Component c)
      Returns the width of the passed in component.
      Parameters:
      c - a component
      Returns:
      the width of the component
    • getAvailableSize

      protected int getAvailableSize(Dimension containerSize, Insets insets)
      Returns the available width based on the container size and Insets.
      Parameters:
      containerSize - a container size
      insets - an insets
      Returns:
      the available width
    • getInitialLocation

      protected int getInitialLocation(Insets insets)
      Returns the left inset, unless the Insets are null in which case 0 is returned.
      Parameters:
      insets - the insets
      Returns:
      the left inset
    • setComponentToSize

      protected void setComponentToSize(Component c, int size, int location, Insets insets, Dimension containerSize)
      Sets the width of the component c to be size, placing its x location at location, y to the insets.top and height to the containerSize.height less the top and bottom insets.
      Parameters:
      c - a component
      size - a new width
      location - a new X coordinate
      insets - an insets
      containerSize - a container size
    • updateComponents

      protected void updateComponents()
      Determines the components. This should be called whenever a new instance of this is installed into an existing SplitPane.