maspack.widgets
Class ScrollPaneLayout

java.lang.Object
  extended by javax.swing.ScrollPaneLayout
      extended by maspack.widgets.ScrollPaneLayout
All Implemented Interfaces:
java.awt.LayoutManager, java.io.Serializable, javax.swing.ScrollPaneConstants

public class ScrollPaneLayout
extends javax.swing.ScrollPaneLayout

This is an override of ScrollPaneLayout which fixes a bug that occurs when a window containing a scroll pane is repacked. When that occurs, viewport.getViewSize() returns the existing size of the client view window rather than its preferred size, which can cause problems because the existing size is not necessarily the final client size after the repack. To fix this, this class reimplements the preferredLayoutSize method to always use the preferred size of the view client.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.ScrollPaneLayout
javax.swing.ScrollPaneLayout.UIResource
 
Field Summary
 
Fields inherited from interface javax.swing.ScrollPaneConstants
COLUMN_HEADER, HORIZONTAL_SCROLLBAR, HORIZONTAL_SCROLLBAR_ALWAYS, HORIZONTAL_SCROLLBAR_AS_NEEDED, HORIZONTAL_SCROLLBAR_NEVER, HORIZONTAL_SCROLLBAR_POLICY, LOWER_LEADING_CORNER, LOWER_LEFT_CORNER, LOWER_RIGHT_CORNER, LOWER_TRAILING_CORNER, ROW_HEADER, UPPER_LEADING_CORNER, UPPER_LEFT_CORNER, UPPER_RIGHT_CORNER, UPPER_TRAILING_CORNER, VERTICAL_SCROLLBAR, VERTICAL_SCROLLBAR_ALWAYS, VERTICAL_SCROLLBAR_AS_NEEDED, VERTICAL_SCROLLBAR_NEVER, VERTICAL_SCROLLBAR_POLICY, VIEWPORT
 
Constructor Summary
ScrollPaneLayout()
           
 
Method Summary
 java.awt.Dimension preferredLayoutSize(java.awt.Container parent)
           
 
Methods inherited from class javax.swing.ScrollPaneLayout
addLayoutComponent, getColumnHeader, getCorner, getHorizontalScrollBar, getHorizontalScrollBarPolicy, getRowHeader, getVerticalScrollBar, getVerticalScrollBarPolicy, getViewport, getViewportBorderBounds, layoutContainer, minimumLayoutSize, removeLayoutComponent, setHorizontalScrollBarPolicy, setVerticalScrollBarPolicy, syncWithScrollPane
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ScrollPaneLayout

public ScrollPaneLayout()
Method Detail

preferredLayoutSize

public java.awt.Dimension preferredLayoutSize(java.awt.Container parent)
Specified by:
preferredLayoutSize in interface java.awt.LayoutManager
Overrides:
preferredLayoutSize in class javax.swing.ScrollPaneLayout