import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class Bottoni extends JFrame
{	private int cont = 0;
	private JButton bot = new JButton
								("Contatore: " + cont);
	private JLabel etic = new JLabel
									("Fare click sulle caselle");
	private JCheckBox cb1 = new JCheckBox("Scelta 1");
	private JCheckBox cb2 = new JCheckBox("Scelta 2");
	private JRadioButton rb1 = new JRadioButton("Si");
	private JRadioButton rb2 = new JRadioButton("No");
	private ButtonGroup gruppo = new ButtonGroup();
	private Container c;
	public class AscoltatoreB
				implements ActionListener, ItemListener
	{	public void actionPerformed(ActionEvent e)
		{	cont++;
			bot.setText("Contatore: " + cont);
		}
		public void itemStateChanged(ItemEvent e)
		{	String s = "Stato dei bottoni: " +
							cb1.isSelected() + ", " +
							cb2.isSelected() + ", " +
							rb1.isSelected() + ", " +
							rb2.isSelected();
			etic.setText(s);
		}
	}
	Bottoni(String titolo)
	{	super(titolo);
		c = getContentPane();
		c.setLayout(new GridLayout(6, 1));
		setDefaultCloseOperation(DISPOSE_ON_CLOSE);
		etic.setBorder
			(BorderFactory.createLineBorder(Color.blue));
		gruppo.add(rb1); gruppo.add(rb2);
		c.add(cb1); c.add(cb2);
		c.add(rb1); c.add(rb2);
		c.add(etic);
		c.add(bot);
		getRootPane().setDefaultButton(bot);
		AscoltatoreB asc = new AscoltatoreB();
		bot.addActionListener(asc);
		cb1.addItemListener(asc);
		cb2.addItemListener(asc);
		rb1.addItemListener(asc);
		rb2.addItemListener(asc);
	}
}

public class ProvaB
{	public static void main(String[] args)
	{	Bottoni bb = new Bottoni("Bottoni");
		bb.setSize(280, 200);
		bb.setVisible(true);
	}
}
