• TimeTestApplet2
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    
    public class TimeTestApplet2 extends JApplet {
       private Time time;
       private JLabel hourLabel, minuteLabel, secondLabel;
       private JTextField hourField, minuteField, secondField, displayField;
    
       // constructor
       public TimeTestApplet2()
       {
    	  time = new Time();        // create Time object
    	  createGUI();              // set up GUI
    	  registerEventHandlers();  // set up event handling
       }
    
       // create GUI components and attach to content pane
       private void createGUI()
       {
    	  Container container = getContentPane();
    	  container.setLayout( new FlowLayout() );
    
    	  hourLabel = new JLabel( "Set Hour" );
    	  hourField = new JTextField( 10 );
    	  container.add( hourLabel );
    	  container.add( hourField );
    
    	  minuteLabel = new JLabel( "Set minute" );
    	  minuteField = new JTextField( 10 );
    	  container.add( minuteLabel );
    	  container.add( minuteField );
    
    	  secondLabel = new JLabel( "Set Second" );
    	  secondField = new JTextField( 10 );
    	  container.add( secondLabel );
    	  container.add( secondField );
    
    	  displayField = new JTextField( 30 );
    	  displayField.setEditable( false );
    	  container.add( displayField );
    
       } // end method createGUI
    
       // register event handlers for hourField, minuteField and secondField
       private void registerEventHandlers()
       {
    	  // register hourField event handler
    	  hourField.addActionListener( 
    
    		 new ActionListener() {  // anonymous inner class
    
    			public void actionPerformed( ActionEvent event )
    			{
    			   time.setHour( Integer.parseInt( 
    				  event.getActionCommand() ) );
    			   hourField.setText( "" );
    			   displayTime();
    			}
    
    		 } // end anonymous inner class 
    
    	  ); // end call to addActionListener for hourField
    
    	  // register minuteField event handler
    	  minuteField.addActionListener( 
    
    		 new ActionListener() {  // anonymous inner class
    
    			public void actionPerformed( ActionEvent event )
    			{
    			   time.setMinute( Integer.parseInt( 
    				  event.getActionCommand() ) );
    			   minuteField.setText( "" );
    			   displayTime();
    			}
    
    		 } // end anonymous inner class 
    
    	  ); // end call to addActionListener for minuteField
    
    	  secondField.addActionListener( 
    
    		 new ActionListener() {  // anonymous inner class
    
    			public void actionPerformed( ActionEvent event )
    			{
    			   time.setSecond( Integer.parseInt( 
    				  event.getActionCommand() ) );
    			   secondField.setText( "" );
    			   displayTime();
    			}
    
    		 } // end anonymous inner class
    
    	  ); // end call to addActionListener for secondField
    
       } // end method registerEventHandlers
    
       // display time in displayField
       public void displayTime()
       {
    	  displayField.setText( "The time is: " + time );
       }
    
       // create TimeTestWindow2 object, register for its window events
       // and display it to begin application's execution
       public static void main( String args[] )
       {
    	  TimeTestWindow2 window = new TimeTestWindow2();
    
    	  // register listener for windowClosing event
    	  window.addWindowListener(
    
    		 // anonymous inner class for windowClosing event
    		 new WindowAdapter() {
    
    			// terminate application when user closes window
    			public void windowClosing( WindowEvent event )
    			{
    			   System.exit( 0 );
    			}
    
    		 } // end anonymous inner class
    
    	  ); // end call to addWindowListener for window
    
    	  window.setSize( 400, 105 );
    	  window.setVisible( true );
    
       } // end main
    
    } // end class TimeTestApplet2