package martinSwing;

import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

public class Fui extends JFrame{
	/*all screen*/
	private Container _card0,
	                  _card1;

	private class Card0 extends JPanel{
		public Card0(){
			super();
			add(new JButton(_atc0));
			setFocusable(true);
			addKeyListener(_key0);
		}
	}

	private class Card1 extends JPanel{
		public Card1(){
			super();
			add(new JButton(_act1));
			setFocusable(true);
			addKeyListener(_key1);
		}
	}

	/*all action to take*/
	private final AbstractAction _atc0 = new AbstractAction("0"){
		public void actionPerformed(ActionEvent arg0) {
			flip(_card1);
		}
	};

	private final AbstractAction _act1 = new AbstractAction("1"){
		public void actionPerformed(ActionEvent arg0) {
			flip(_card0);
		}
	};

	private final KeyListener _key0 = new KeyListener(){
		public void keyPressed(KeyEvent arg0) {
				flip(_card1);
		}
		public void keyReleased(KeyEvent arg0) {}
		public void keyTyped(KeyEvent arg0) {}
	};

	private final KeyListener _key1 = new KeyListener(){
		public void keyPressed(KeyEvent arg0) {
				flip(_card0);
		}
		public void keyReleased(KeyEvent arg0) {}
		public void keyTyped(KeyEvent arg0) {}
	};
	/*constructor*/
	public Fui(){
		super("B==D");
		build();
	}

	private void build(){
		//setup window
		setLocationRelativeTo(null);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setVisible(true);
		//build screen
		//_card0.add(new JButton(_atc0));
		_card0 = new Card0();
		_card1 = new Card1();
		//addKeyListener(_key);

		//activate first
		flip(_card0);
	}

	private void flip(final Container card){
		setContentPane(card);
		card.requestFocus();
		revalidate();
		pack();
	}

	public static void main(String [] args){
		Fui tmp = new Fui();
	}
}
