首页 > 代码库 > ActionEvent之TextField
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(‘*‘);
就会变成密码输入栏,这句话是设置设置回显字符。
ActionEvent之TextField
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。