JCalendar is a simple Java component that can be used for date selection. The component allows registration for date changing events. An example of how to use the component is reported below:

	import java.awt.BorderLayout;
	import java.util.Calendar;

	import javax.swing.JFrame;

	import jcalendar.DateListener;
	import jcalendar.JCalendar;

	public class MainTest {
	  
	  public static void main(String[] args){
	    
	    JFrame f = new JFrame();
	    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	    f.setSize(220,200);
	    
	    JCalendar cal = new JCalendar();
	    cal.addDateListener(new DateListener(){

	      @Override
	      public void dateChanged(Calendar new_c) {
		int day = new_c.get(Calendar.DAY_OF_MONTH);
		int month = new_c.get(Calendar.MONTH) + 1;
		int year = new_c.get(Calendar.YEAR);
		System.out.println("Selected: " + day + "/" +
		            month + "/" + year + " (DD/MM/YYYY)");
	      }
	      
	    });
	    f.getContentPane().add(cal, BorderLayout.CENTER);
	    f.setVisible(true);
	  }
	}

Downloads