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="http://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 }