javax.swing
Class ViewportLayout

java.lang.Object
  extended by javax.swing.ViewportLayout
All Implemented Interfaces:
LayoutManager, Serializable

public class ViewportLayout
extends Object
implements LayoutManager, Serializable

The default layout for JViewport. The viewport makes its view the same size as itself, but not smaller than its minimum size. If the port extends extends into space past the edge of the view, this layout manager moves the port up or to the left, in view space, by the amount of empty space (keep the lower and right edges lined up).

See Also:
Serialized Form

Constructor Summary
ViewportLayout()
           
 
Method Summary
 void addLayoutComponent(String name, Component c)
          The method is not used with this manager.
 void layoutContainer(Container parent)
          Layout the view and viewport to respect the following rules.
 Dimension minimumLayoutSize(Container parent)
          Get the minimum layout size.
 Dimension preferredLayoutSize(Container parent)
          Get the preferred layout size.
 void removeLayoutComponent(Component c)
          The method is not used with this manager.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ViewportLayout

public ViewportLayout()
Method Detail

addLayoutComponent

public void addLayoutComponent(String name,
                               Component c)
The method is not used with this manager.

Specified by:
addLayoutComponent in interface LayoutManager
Parameters:
name - the name of the component to add
c - the component to add

removeLayoutComponent

public void removeLayoutComponent(Component c)
The method is not used with this manager.

Specified by:
removeLayoutComponent in interface LayoutManager
Parameters:
c - the component to remove

preferredLayoutSize

public Dimension preferredLayoutSize(Container parent)
Get the preferred layout size. If the view implements Scrollable, this method returns Scrollable.getPreferredScrollableViewportSize(). Otherwise, it returns Component.getPreferredSize().

Specified by:
preferredLayoutSize in interface LayoutManager
Parameters:
parent - the parent container to lay out
Returns:
the preferred layout size, as described about.
See Also:
LayoutManager.minimumLayoutSize(Container)

minimumLayoutSize

public Dimension minimumLayoutSize(Container parent)
Get the minimum layout size. Normally this method returns the value, returned by the view method Component.getMinimumSize(). If the view is not set, the zero size is returned.

Specified by:
minimumLayoutSize in interface LayoutManager
Parameters:
parent - the viewport
Returns:
the minimum layout size.
See Also:
LayoutManager.preferredLayoutSize(Container)

layoutContainer

public void layoutContainer(Container parent)
Layout the view and viewport to respect the following rules. These are not precisely the rules described in sun's javadocs, but they are the rules which sun's swing implementation follows, if you watch its behavior:
  1. If the port is smaller than the view, leave the view at its current size.
  2. If the view is smaller than the port, the view is top aligned.
  3. If the view tracks the port size, the view position is always zero and the size equal to the viewport size
  4. In JViewport.setViewSize(Dimension), the view size is never set smaller that its minimum size.

Specified by:
layoutContainer in interface LayoutManager
Parameters:
parent - the container to lay out
See Also:
JViewport.getViewSize(), JViewport.setViewSize(java.awt.Dimension), JViewport.getViewPosition(), JViewport.setViewPosition(java.awt.Point)