AWT TextField类

1 什么是Java AWT TextField

TextField 组件允许用户编辑单行文本。当用户在文本字段中键入一个键时,事件将发送到 TextField。按键事件可以是按键按下、按键释放或按键输入。按键事件传递给注册的 KeyListener。如果在文本字段上启用了 ActionEvent,则也可以使用 ActionEvent,然后可以通过按返回键来触发 ActionEvent。

2 Java AWT TextField的语法

public class TextField
   extends TextComponent

3 Java AWT TextField的构造方法

构造方法 描述
TextField() 构造一个新的文本字段。
TextField(int columns) 构造一个具有指定列数的新空文本字段。
TextField(String text) 构造一个用指定文本初始化的新文本字段。
TextField(String text, int columns) 构造一个新的文本字段,该字段使用要显示的指定文本进行初始化,并且足够宽以容纳指定的列数。

4 Java AWT TextField的方法

方法 描述
void addActionListener(ActionListener l) 添加指定的动作侦听器以从该文本字段接收动作事件。
void addNotify() 创建 TextField 的对等体。
boolean echoCharIsSet() 指示此文本字段是否具有用于回显的字符集。
AccessibleContext getAccessibleContext() 获取与此 TextField 关联的 AccessibleContext。
ActionListener[] getActionListeners() 返回在此文本字段上注册的所有操作侦听器的数组。
int getColumns() 获取此文本字段中的列数。
char getEchoChar() 获取要用于回显的字符。
<T extends EventListener> T[] getListeners(Class<T> listenerType) 返回当前在此 TextField 上注册为 FooListeners 的所有对象的数组。
Dimension getMinimumSize() 获取此文本字段的最小尺寸。
Dimension getMinimumSize(int columns)  获取具有指定列数的文本字段的最小尺寸。
Dimension getPreferredSize() 获取此文本字段的首选大小。
Dimension getPreferredSize(int columns) 获取具有指定列数的此文本字段的首选大小。
Dimension minimumSize() 已弃用。从 JDK 1.1 版开始,由 getMinimumSize() 取代。
Dimension minimumSize(int columns) 已弃用。从 JDK 1.1 版开始,由 getMinimumSize(int) 取代。
protected String paramString() 返回表示此 TextField 状态的字符串。
Dimension preferredSize() 已弃用。从 JDK 1.1 版开始,由 getPreferredSize() 取代。
Dimension preferredSize(int columns) 已弃用。从 JDK 1.1 版开始,由 getPreferredSize(int) 取代。
protected void processActionEvent(ActionEvent e) 处理发生在此文本字段上的动作事件,方法是将它们分派到任何已注册的 ActionListener 对象。
protected void processEvent(AWTEvent e) 处理此文本字段上的事件。
void removeActionListener(ActionListener l) 移除指定的动作侦听器,使其不再从该文本字段接收动作事件。
void setColumns(int columns) 设置此文本字段中的列数。
void setEchoChar(char c) 设置此文本字段的回显字符。
void setEchoCharacter(char c) 已弃用。从 JDK 1.1 版开始,由 setEchoChar(char) 取代。
void setText(String t) 将此文本组件呈现的文本设置为指定的文本。

5 Java AWT TextField的例子

让我们看一个简单的Java AWT TextField类示例。

package com.yiidian;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class AwtControlDemo {

   private Frame mainFrame;
   private Label headerLabel;
   private Label statusLabel;
   private Panel controlPanel;

   public AwtControlDemo(){
      prepareGUI();
   }

   public static void main(String[] args){
      AwtControlDemo  awtControlDemo = new AwtControlDemo();
      awtControlDemo.showTextFieldDemo();
   }

   private void prepareGUI(){
      mainFrame = new Frame("一点教程网:Java AWT Examples");
      mainFrame.setSize(400,400);
      mainFrame.setLayout(new GridLayout(3, 1));
      mainFrame.addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent windowEvent){
            System.exit(0);
         }        
      });    
      headerLabel = new Label();
      headerLabel.setAlignment(Label.CENTER);
      statusLabel = new Label();        
      statusLabel.setAlignment(Label.CENTER);
      statusLabel.setSize(350,100);

      controlPanel = new Panel();
      controlPanel.setLayout(new FlowLayout());

      mainFrame.add(headerLabel);
      mainFrame.add(controlPanel);
      mainFrame.add(statusLabel);
      mainFrame.setVisible(true);  
   }

   private void showTextFieldDemo(){
      headerLabel.setText("Control in action: TextField"); 

      Label  namelabel= new Label("User ID: ", Label.RIGHT);
      Label  passwordLabel = new Label("Password: ", Label.CENTER);
      final TextField userText = new TextField(6);
      final TextField passwordText = new TextField(6);
      passwordText.setEchoChar('*');

      Button loginButton = new Button("Login");
   
      loginButton.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {
            String data = "Username: " + userText.getText();
            data += ", Password: " + passwordText.getText();
            statusLabel.setText(data);        
         }
      }); 

      controlPanel.add(namelabel);
      controlPanel.add(userText);
      controlPanel.add(passwordLabel);       
      controlPanel.add(passwordText);
      controlPanel.add(loginButton);
      mainFrame.setVisible(true);  
   }
}

输出结果为:

热门文章

优秀文章