##
CardLayout

Este es el tipo de composición que se utiliza cuando se necesita una zona de la ventana que permita colocar distintos Componentes en esa misma zona. Este layout suele ir asociado con botones de lista (Choice), de tal modo que cada selección determina el panel (grupo de componentes) que se presentarán.

En la figura siguiente mostramos el efecto de la selección sobre la apriencia de la ventana que contiene el panel con la composición CardLayout:

    import java.awt.*;
    import java.applet.Applet;

    public class AwtCard extends Applet {
        Panel card;
        final static String PanelBoton = "Panel con Botones";
        final static String PanelTexto = "Panel con Campo de Texto";

        public void init() {
            setLayout( new BorderLayout() );

            Panel ac = new Panel();
            Choice c = new Choice();

            c.addItem( PanelBoton );
            c.addItem( PanelTexto );
            ac.add( c );
            add( "North",ac );

            card = new Panel();
            card.setLayout( new CardLayout() );

            Panel p1 = new Panel();
            p1.add( new Button( "Botón 1" ) );
            p1.add( new Button( "Botón 2" ) );
            p1.add( new Button( "Botón 3" ) );
            Panel p2 = new Panel();
            p2.add( new TextField( "Texto",20 ) );

            card.add( PanelBoton,p1 );
            card.add( PanelTexto,p2 );
            add( "Center",card );
            }

        public boolean action( Event evt,Object arg ) {
            if( evt.target instanceof Choice )
                {
                ( (CardLayout)card.getLayout() ).show( card,(String)arg );
                return true;
                }
            return false;
            }
        }

Este es el código, AwtCard.java, que hemos utilizado para generar las dos imágenes que muestran el funcionamiento de la composición CardLayout.

|  | ##### [Anterior] [Indice] [Siguiente]