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 }