import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;

public class JFrameExample extends JFrame implements ActionListener {

	private JButton b1;
	private JButton b2;

	/**
	 * @param args
	 */
	public JFrameExample() {
		setTitle("Example JFrame");
		setSize(400, 75);
		Container c = getContentPane();
		c.setLayout(new FlowLayout());
		b1 = new JButton("Add");
		c.add(b1);

		b2 = new JButton("Sub");
		c.add(b2);

		ButtonEventHandler beh = new ButtonEventHandler();

		b1.addActionListener(beh); // inform this object if b1 is clicked
		b2.addActionListener(this); // inform this object if b2 is clicked

		JTextField tf = new JTextField(5);
		tf.setText("0");
		c.add(tf);

		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		// jfe is a local variable
		JFrameExample jfe = new JFrameExample();
		jfe.setVisible(true);
	}

	@Override
	public void actionPerformed(ActionEvent ae) {
		// TODO Auto-generated method stub
		Object o = ae.getSource();
		if (o == b1)
			System.out.println("Add clicked");
		else if (o == b2)
			System.out.println("Sub clicked");
	}

}
