API ----GUI ----事件监听机制
java.lang.Object
继承者 java.awt.Component
继承者 java.awt.TextComponent
继承者 java.awt.TextField
public class TextField extends TextComponent
TextField类速查速记:
![db58e1587bd2a0457b0285ad58b088d3.png](https://i-blog.csdnimg.cn/blog_migrate/a1740f60f0a25728229b5f3f3756b41a.jpeg)
构造方法:
TextField()
构造新文本字段。
TextField(int columns)
构造具有指定列数的新空文本字段。
TextField(String text)
构造使用指定文本初始化的新文本字段。
TextField(String text, int columns)
构造使用要显示的指定文本初始化的新文本字段,宽度足够容纳指定列数。
成员方法:
void setText(String s):获取内容
String getText():设置内容
void requestFocus():获取光标
TextField类:
案例1:-> 把文本框数据转移到文本域
案例2:-> 不能输入非数字字符
演示1:
public class TestTextField {
public static void main(String[] args) {
new MyFrameTextField();
}
}
class MyFrameTextField extends Frame{
MyFrameTextField(){
TextField textField = new TextField();
add(textField);
textField.addActionListener(new MyMonitor2());
//这个setEchoChar()方法是设置文本框输入时显示的字符,这里设置为*,
//这样输入任何内容就都以*显示出来,不过打印出来时依然可以看到输入的内容
textField.setEchoChar('*');
setVisible(true);
pack();
}
}
class MyMonitor2 implements ActionListener{
//接口里面的所有方法都是public(公共的)
//所以从API文档复制void actionPerformed(ActionEvent e)时 要在void前面加上public
@Override
public void actionPerformed(ActionEvent e) {
//事件的相关信息都封装在了对象e里面,通过对象e的相关方法就可以获取事件的相关信息
//getSource()方法是拿到事件源,注意:拿到这个事件源的时候
//是把它当作TextField的父类来对待
//getSource()方法的定义是:“public Object getSource()”返回值是一个Object对象
//所以要强制转换成TextField类型的对象
//在一个类里面想访问另外一个类的事件源对象可以通过getSource()方法
TextField textField = (TextField) e.getSource();
// textField.getText()是取得文本框里面的内容
System.out.println(textField.getText());
// 把文本框里面的内容清空
textField.setText("");
}
}