ItemListener is applicable to selectable components which can have only 2 states: selected/deselected. Like Checkbox, Radio Button, etc.

ItemListener Interface

As per the event delegation model we are going to implement this interface in our class. ItemListener consists of 1 method which is as below.

  1. public void itemStateChanged(ItemEvent e)

To add ItemListener on any component, syntax is: checkboxObject.addItemListener(this);
For further reference you can refer my article on Event Handling Methodologies.

To manually invoke paint(Graphics) method: we can call repaint(). This will internally create object of java.awt.Graphics and call paint(Graphics) internally.

Program:

import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class AppletItemEvents extends Applet implements ItemListener
{
	Checkbox c1,c2,r1,r2;
	CheckboxGroup cbg;
	Label l1,l2;
	String msg1 = "", msg2 = "";
	public void init() 
	{
		l1 = new Label("Languages you know:");
		l2 = new Label("Gender:");
		c1 = new Checkbox("English");
		c2 = new Checkbox("French");
		cbg = new CheckboxGroup();
		r1 = new Checkbox("Male",cbg,true);
		r2 = new Checkbox("Female",cbg,false);
		
		c1.addItemListener(this);
		c2.addItemListener(this);
		r1.addItemListener(this);
		r2.addItemListener(this);
		
		add(l1);
		add(c1);
		add(c2);
		add(l2);
		add(r1);
		add(r2);		
		
	}
	public void itemStateChanged(ItemEvent ie) 
	{
		String t1 = c1.getState()?"English ":"";
		String t2 = c2.getState()?"French":"";
		msg1 = "Languages:" + t1 + t2 ;
		String t3 = r1.getState()?"Male":"Female";
		msg2 = "gender:" + t3;
		repaint();
	}
	public void paint(Graphics g)
	{
		g.drawString(msg1, 50,200);	
		g.drawString(msg2, 50,240);	
	}
}
/*
<applet code="AppletItemEvents" width="300" height="300"></applet>
*/