// Fig. 10.12: MyChoice.java
// Using a Choice button to select a font.
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import com.deitel.jhtp2.ch10.FontNameHandler;

public class MyChoice extends Applet {
   private Choice fonts;
   private TextField t;

   public void init()
   {
      // Create a Choice button and add items to it
      fonts = new Choice();
      fonts.add( "Monospaced" );  // Courier
      fonts.add( "SansSerif" );   // Helvetica
      fonts.add( "Serif" );       // Times

      t = new TextField( fonts.getItem( 0 ), 30 );
      t.setEditable( false );
      t.setFont( new Font( fonts.getItem( 0 ),
         Font.PLAIN, 12 ) );

      fonts.addItemListener( new FontNameHandler( t ) );
      fonts.addItemListener( new SetTextFieldHandler( t ) );

      add( fonts );
      add( t );
   }
}

class SetTextFieldHandler implements ItemListener {
   private TextField field;

   public SetTextFieldHandler( TextField t ) { field = t; }

   public void itemStateChanged( ItemEvent e )
   {
      Choice choice = (Choice) e.getItemSelectable();
         
      field.setText( "Index: " + choice.getSelectedIndex() +
         "; Font: " + e.getItem() );
   }
}
