import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

public class TestCheckbox {
	//1.Declare Controls
	JFrame frame;
	JCheckBox a, b, c;
	JButton save, reset;
	
	TestCheckbox() {
		//2.Initialize Controls
		frame = new JFrame("Test Radio Buttons");
		save = new JButton("Save");
		reset = new JButton("Reset");
		a = new JCheckBox("Option A");
		b = new JCheckBox("Option B");
		c = new JCheckBox("Option C");
		
		//3.Config settings
		frame.setLayout(new FlowLayout());
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		a.setActionCommand("A");
		b.setActionCommand("B");
		c.setActionCommand("C");
		
		//4.Add controls
		frame.add(a);
		frame.add(b);
		frame.add(c);
		frame.add(save);
		frame.add(reset);
		
		//5.Register Listeners
		SaveListener saveL = new SaveListener();
		ResetListener resetL = new ResetListener();
		save.addActionListener(saveL);
		reset.addActionListener(resetL);
		
		//6.setsize and setvisible
		frame.setSize(800, 600);
		frame.setVisible(true);
	}
	
	//7.implement event handling methods
	class SaveListener implements ActionListener {
		@Override
		public void actionPerformed(ActionEvent arg0) {
			// TODO Auto-generated method stub
			if (a.isSelected()) {
				System.out.println("You chose Option A");
			}
			if (b.isSelected()) {
				System.out.println("You chose Option B");
			} 
			if (c.isSelected()) {
				System.out.println("You chose Option C");
			} 
		}
	}
	
	class ResetListener implements ActionListener {
		@Override
		public void actionPerformed(ActionEvent arg0) {
			// TODO Auto-generated method stub
			a.setSelected(false);
			b.setSelected(false);
			c.setSelected(false);
		}
	}
	
	public static void main(String args[]) {
		TestCheckbox test = new TestCheckbox();
	}
}

