001         package com.croftsoft.core.gui.layout;
002    
003         import java.awt.*;
004    
005         import com.croftsoft.core.lang.NullArgumentException;
006    
007         /*********************************************************************
008         * Provides an abstraction wrapper for the CardLayout.show() method.
009         *
010         * <p>
011         * Use when you do not want to give the caller a reference to the
012         * parentContainer.
013         * </p>
014         *
015         * <p>
016         * Java 1.1 compatible.
017         * </p>
018         *
019         * @version
020         *   2001-03-26
021         * @since
022         *   2001-03-26
023         * @author
024         *   <a href="https://www.croftsoft.com/">David W. Croft</a>
025         *********************************************************************/
026    
027         public final class  CardFlipper
028         //////////////////////////////////////////////////////////////////////
029         //////////////////////////////////////////////////////////////////////
030         {
031    
032         private Container   parentContainer;
033    
034         private CardLayout  cardLayout;
035    
036         //////////////////////////////////////////////////////////////////////
037         //////////////////////////////////////////////////////////////////////
038    
039         public  CardFlipper (
040           Container   parentContainer,
041           CardLayout  cardLayout )
042         //////////////////////////////////////////////////////////////////////
043         {
044           NullArgumentException.check (
045             this.parentContainer = parentContainer );
046    
047           NullArgumentException.check ( this.cardLayout = cardLayout );
048         }
049    
050         /*********************************************************************
051         * this ( parentContainer,
052         *   ( CardLayout ) parentContainer.getLayout ( ) );
053         *********************************************************************/
054         public  CardFlipper ( Container   parentContainer )
055         //////////////////////////////////////////////////////////////////////
056         {
057           this ( parentContainer,
058             ( CardLayout ) parentContainer.getLayout ( ) );
059         }
060    
061         //////////////////////////////////////////////////////////////////////
062         //////////////////////////////////////////////////////////////////////
063    
064         /*********************************************************************
065         * @throws NullArgumentException
066         *   If cardName is null.
067         *********************************************************************/
068         public void  flipCard ( String  cardName )
069         //////////////////////////////////////////////////////////////////////
070         {
071           NullArgumentException.check ( cardName );
072    
073           cardLayout.show ( parentContainer, cardName );
074         }
075    
076         //////////////////////////////////////////////////////////////////////
077         //////////////////////////////////////////////////////////////////////
078         }