import org.swixml.SwingEngine;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
/**
* The Cards
class shows an example for the usage of a CardLayout.
*
* @author Wolf Paulus
* @version $Revision: 1.1 $
*
* @since swixml #109
*/
public class Cards {
private static final String DESCRIPTOR = "xml/cards.xml";
private SwingEngine swix = new SwingEngine( this );
/** panel with a CardLayout */
public JPanel pnl;
private Cards() throws Exception {
swix.render( Cards.DESCRIPTOR ).setVisible( true );
this.showAction.actionPerformed( null );
}
/** shows the next card */
public Action nextAction = new AbstractAction() {
public void actionPerformed( ActionEvent e ) {
CardLayout cl = (CardLayout) ( pnl.getLayout() );
cl.next( pnl );
}
};
/** shows the card with the id requested in the actioncommand */
public Action showAction = new AbstractAction() {
public void actionPerformed( ActionEvent e ) {
//System.err.println( "ActionCommand=" + e.getActionCommand() );
CardLayout cl = (CardLayout) ( pnl.getLayout() );
if (e!=null) {
cl.show( pnl, e.getActionCommand() );
}
}
};
public static void main( String[] args ) {
try {
new Cards();
} catch (Exception e) {
System.err.println( e.getMessage() );
}
}
}