// Fig. 10.12: MyChoice.java
// Using a Choice button to select a font.
import java.awt.*;
import java.awt.event.*;
import FontNameHandler;

public class MyChoice extends Frame {
   private Choice fonts;
   private TextField t;

   MyChoice( String name )
   {
      super(name);
   }

   public void init()
   {
      setSize(300, 200);
      // 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 ), 50 );
      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 );
      setLayout(new FlowLayout(FlowLayout.CENTER));
   }

  public static void main(String argv[]){
    System.out.println( "wejście do main..." );
    MyChoice f = new MyChoice("Wybór");
    f.init();
    f.show();
    System.out.println( "wyjście z main..." );
  }

}

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() );
   }
}
