Text fields

Bruce Eckel’s Thinking in Java Contents | Prev | Next

//: TextField1.java
// Using the text field control
import java.awt.*;
import java.applet.*;
 
public class TextField1 extends Applet {
  Button
    b1 = new Button("Get Text"),
    b2 = new Button("Set Text");
  TextField
    t = new TextField("Starting text", 30);
  String s = new String();
  public void init() {
    add(b1);
    add(b2);
    add(t);
  }
  public boolean action (Event evt, Object arg) {
    if(evt.target.equals(b1)) {
      getAppletContext().showStatus(t.getText());
      s = t.getSelectedText();
      if(s.length() == 0) s = t.getText();
      t.setEditable(true);
    }
    else if(evt.target.equals(b2)) {
      t.setText("Inserted by Button 2: " + s);
      t.setEditable(false);
    }
    // Let the base class handle it:
    else
      return super.action(evt, arg);
    return true; // We've handled it here
  }
} ///:~ 

There
are several ways to construct a
TextField;
the one shown here provides an initial string and sets the size of the field in
characters.

Pressing
button 1 either gets the text you’ve selected with the mouse or it gets
all the text in the field and places the result in
String
s
.
It also allows the field to be edited. Pressing button 2 puts a message and
s
into the text field and prevents the field from being edited (although you can
still select the text). The editability of the text is controlled by passing setEditable( )
a
true
or
false.

More by Author

Must Read