GUI之输入框事件监听(方法)、输入内容时不可见:setEchoChar、getSource:获取传入资源并返回


输入框TextField监听:

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

public class main{
    public static void main(String[] args) {
        //启动 创建对象
        MyFrame myFrame=new MyFrame();
    }



}

class MyFrame extends Frame {
    public MyFrame(){
        //TextArea():文本域,可以写多行文本;TextField:单行文本
        TextField textField=new TextField();//创建单行文本域
        add(textField);//不用创建Frame对象,因为直接继承了Frame类,所以可以直接添加

        //监听文本框输入的文字
        MyActionListener myActionListener=new MyActionListener();
        //当输入文字后,按下enter(回车)就会做触发这个输入框的事件
        textField.addActionListener(myActionListener);
        //设置替换编码
        textField.setEchoChar('*');//设置这个值后,在输入框输入内容时会显示*号,但其他地方可以正常获取正常的内容,可以适用密码的输入
        //设置窗体可见
        setVisible(true);
        //自动设置最优布局
        pack();
    }

}
//创建文本框监听事件实现类
class MyActionListener implements ActionListener {

    @Override
    public void actionPerformed(ActionEvent e) {
        //这个一个代码可以从监听器中,拿到了add(textField),这个位置的对象
        TextField field=(TextField) e.getSource();//获取一些资源,但我们并不知道是什么资源,所以他会返回一下对象
        System.out.println("输入的内容为:"+e.getSource());//打印输入的内容
        field.getText();//获得输入框中的文本
        field.setText("");//当回车后输入框的内容会清空

    }
}

方法:

setText("");//当回车后输入框的内容会清空
getSource()//获取一些资源
setEchoChar('*');//设置这个值后,在输入框输入内容时会显示*号,但其他地方可以正常获取正常的内容,可以适用密码的输入

相关