1  /*
  2   *  File:  TextFieldTest.java
  3   *
  4   *  Create an editable text field (i.e., a one-line text area)
  5   *
  6   *  Copyright:  Northeast Parallel Architectures Center
  7   *  
  8   */
  9  
 10  import java.applet.Applet;
 11  import java.awt.Label;
 12  import java.awt.TextField;
 13  import java.awt.Color;
 14  import java.awt.Font;
 15  import java.awt.event.ActionListener;
 16  import java.awt.event.ActionEvent;
 17  
 18  public class TextFieldTest extends Applet {
 19  
 20  // label1 and label2 are labels for the two textfields username and password
 21  // when "enter" is pressed in either textfield, display the text in label3
 22  
 23    Label label1, label2, label3;
 24    TextField username, password;
 25    private Font f = new Font ("Dialog", Font.BOLD, 30);
 26  
 27    public void init() {
 28  // this example shows how to use a separate class as the event listener
 29      TextFieldHandler handler = new TextFieldHandler( this );
 30      
 31      setBackground( Color.white );
 32      setFont (f);
 33      
 34      label1 = new Label( "Username:" );
 35      
 36      username = new TextField( 20 );
 37      username.addActionListener( handler );
 38      
 39      label2 = new Label( "Password:" );
 40      
 41      password = new TextField( 20 );
 42      password.setEchoChar( '*' );
 43      password.addActionListener( handler );
 44  
 45      // this layout manager uses intial text to size the label
 46      label3 = new Label ("                                                ");
 47      
 48      add( label1 ); add( username );
 49      add( label2 ); add( password );
 50      add( label3 );
 51    }
 52  
 53  }
 54  
 55  class TextFieldHandler implements ActionListener {
 56  
 57    private TextFieldTest applet;
 58    
 59    public TextFieldHandler( TextFieldTest a ) { applet = a; }
 60    
 61    public void actionPerformed( ActionEvent event ) {
 62      String text;
 63  
 64      // respond to text enter for the two textfields by showing in label3
 65      if ( applet.username == event.getSource() )
 66  	{ text = applet.username.getText();
 67            applet.label3.setText("Your username: " + text);
 68          }
 69      if ( applet.password == event.getSource() )
 70  	{ text = applet.password.getText();
 71            applet.label3.setText("Your password: " + text);
 72  
 73  	  // you can also display text in the browser status bar
 74            applet.showStatus( "Text: " + text );
 75          }
 76    }
 77  }