import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

public class TestRadioButton {
	//1.Declare Controls
	JFrame frame;
	JRadioButton a, b, c;
	ButtonGroup group;
	JButton save, reset;
	
	TestRadioButton() {
		//2.Initialize Controls
		frame = new JFrame("Test Radio Buttons");
		save = new JButton("Save");
		reset = new JButton("Reset");
		a = new JRadioButton("Option A");
		b = new JRadioButton("Option B");
		c = new JRadioButton("Option C");
		group = new ButtonGroup();
		
		//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
		group.add(a);
		group.add(b);
		group.add(c);
		
		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
			String text = group.getSelection().getActionCommand();
			System.out.println("You chose Option:" + text);
		}
	}
	
	class ResetListener implements ActionListener {
		@Override
		public void actionPerformed(ActionEvent arg0) {
			// TODO Auto-generated method stub
			b.setSelected(true);
		}
	}
	
	public static void main(String args[]) {
		TestRadioButton test = new TestRadioButton();
	}
}

