zoukankan      html  css  js  c++  java
  • ActionEvent之TextField

    这里我们讲这个TestField类

    也就是我们的输入框,什么输入密码,用户名什么的。

    一些方法:

    这里说到TestField也会有事件发生,就是当你在文本框敲回车的时候。

    看个例子:

    import java.awt.*;
    import java.awt.event.*;
    
    public class TFActionEvent {
        public static void main(String[] args) {
            new TFFrame();
        }
    } 
    
    class TFFrame extends Frame {
        TFFrame() {
            TextField tf = new TextField();//创建一个输入栏
            add(tf);//把这个输入栏加进去
            tf.addActionListener(new TFActionListener());
            pack();
            setVisible(true);    
        }
    }
    
    class TFActionListener implements ActionListener{
        public void actionPerformed(ActionEvent e) {//重写方法
            TextField tf = (TextField)e.getSource();//现在tf是指向同一个对象
            System.out.println(tf.getText());//将输入的内容打印出来
            tf.setText("");//将输入栏重新设为空        
        }
    }

    这里我们这个监听器对象要把frame里面那个的tf给读出来。可是我怎么才能读出来呢?这可是其他类里面的方法的局部变量啊。显然不可能。

    幸好它会把事件的信息传过来。信息会封装到ActionEvent这个对象里面。然后它有一个方法叫做getSource()——叫拿到事件源。但是它拿到事件源之后是把它当作父类来看的。也就是返回一个Object类。所以要加个强制转换。

    然后监听器的tf和TTFrame里的tf在内存里指向的就是同一个对象了。

    如果再在 TFFrame里面加这句    tf.setEchoChar('*');  

    就会变成密码输入栏,这句话是设置设置回显字符。

  • 相关阅读:
    gcc/g++命令参数笔记
    周总结
    帆软FineBI试用
    C++输入流
    tt
    linux6 安装oracle11g
    linux下修改/dev/shm tmpfs文件系统大小
    centos6.5_x86_64 下安装 Oracle11gR2 的详细过程
    Linux Network配置
    安装KornShell(KSH)
  • 原文地址:https://www.cnblogs.com/wangshen31/p/6896870.html
Copyright © 2011-2022 走看看