Listing 7. CollapsingPane Class
import java.awt.event.* ;
import java.awt.* ;
import java.net.* ;
import java.util.* ;
public class CollapsingPane extends Panel
implements CollapseListener
{
public CollapsingPane( Component c) {
super() ;
_containedComponent = c ;
_handle = new CollapseHandle() ;
setLayout( new BorderLayout() ) ;
add( "North" , _handle ) ;
add( "Center", _containedComponent ) ;
_handle.addCollapseListener( this ) ;
}
public CollapsingPane() {
// for test purposes
this( new Button( "A TEST" ) ) ;
}
public void restore( AWTEvent e ) {
System.out.println( "trying to restore..." );
_containedComponent.setVisible( true );
redraw() ;
}
public void collapse( AWTEvent e ) {
_containedComponent.setVisible( false );
redraw() ;
}
private void redraw() {
Component x = _containedComponent ;
while( x.getParent() != null ) {
x = x.getParent() ;
}
System.out.println( x ) ;
x.validate() ;
x.repaint() ;
}
private CollapseHandle _handle ;
private Component _containedComponent ;
}
Copyright © 1994 - 2019 Linux Journal. All rights reserved.