13.5 文本字段

“文本字段”是允许用户输入和编辑文字的一种线性区域。文本字段从文本组件那里继承了让我们选择文字、让我们像得到字符串一样得到选择的文字,得到或设置文字,设置文本字段是否可编辑以及连同我们从在线参考书中找到的相关方法。下面的例子将证明文本字段的其它功能;我们能注意到方法名是显而易见的:

  1. //: TextField1.java
  2. // Using the text field control
  3. import java.awt.*;
  4. import java.applet.*;
  5. public class TextField1 extends Applet {
  6. Button
  7. b1 = new Button("Get Text"),
  8. b2 = new Button("Set Text");
  9. TextField
  10. t = new TextField("Starting text", 30);
  11. String s = new String();
  12. public void init() {
  13. add(b1);
  14. add(b2);
  15. add(t);
  16. }
  17. public boolean action (Event evt, Object arg) {
  18. if(evt.target.equals(b1)) {
  19. getAppletContext().showStatus(t.getText());
  20. s = t.getSelectedText();
  21. if(s.length() == 0) s = t.getText();
  22. t.setEditable(true);
  23. }
  24. else if(evt.target.equals(b2)) {
  25. t.setText("Inserted by Button 2: " + s);
  26. t.setEditable(false);
  27. }
  28. // Let the base class handle it:
  29. else
  30. return super.action(evt, arg);
  31. return true; // We've handled it here
  32. }
  33. } ///:~

有几种方法均可构建一个文本字段;其中之一是提供一个初始字符串,并设置字符域的大小。

按下按钮1 是得到我们用鼠标选择的文字就是得到字段内所有的文字并转换成字符串S。它也允许字段被编辑。按下按钮2 放一条信息和字符串sText fields,并且阻止字段被编辑(尽管我们能够一直选择文字)。文字的可编辑性是通过setEditable()的真假值来控制的。