// 1.2 version of HelloSwing program.

import java.awt.GridLayout;
import java.awt.event.*;
import javax.swing.*; 

public class PauseClass extends JFrame implements ActionListener {
	JButton button = new JButton("Resume");
   	private boolean trace = false; /* Indicates whether we should trace data or not */
   	private Object lock = new Object();
   	JLabel label = new JLabel("Hit Resume to start tracing");
   	
    public PauseClass() {
        super("Probekit Pause");
        
        button.setMnemonic('i');
        button.addActionListener(this);

        

        JPanel pane = new JPanel();
        pane.setBorder(BorderFactory.createEmptyBorder(30, 30, 10, 30));
        pane.setLayout(new GridLayout(0, 1));
        pane.add(button);
        pane.add(label);
        setContentPane(pane);
    }

    public void actionPerformed(ActionEvent e) {
    	synchronized(lock)
    	{
	        if (button.getText().equalsIgnoreCase("Resume"))
	        {
	        	trace = true;
	        	button.setText("Pause");
	        	label.setText((trace?"Tracing...":"Not Tracing"));
	        }
	        else
	        {
	        	trace = false;
	        	button.setText("Resume");
	        	label.setText((trace?"Tracing...":"Not Tracing"));
	        }       
    	}
    }
    
    public boolean getTrace()
    {
    	synchronized(lock)
    	{
	    	return trace;
    	}
    }
    
    public static void main(String[] args) {
        try {
            UIManager.setLookAndFeel(
                UIManager.getCrossPlatformLookAndFeelClassName());
        } catch (Exception e) {
            System.err.println("Couldn't use the cross-platform "
                             + "look and feel: " + e);
        }

        JFrame f = new PauseClass();

        WindowListener l = new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        };
        f.addWindowListener(l);

        f.pack();
        f.setVisible(true);
    }
}
