这里我们讲这个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的更多相关文章

  1. 第35天学习打卡(输入框 TextField监听 简易计算器,组合+内部类回顾复习 画笔 鼠标监听 窗口监听 键盘监听)

    1.输入框 TextField监听  package com.kuang.lesson02; ​ import java.awt.*; import java.awt.event.ActionEven ...

  2. 通过JAVA程序测试闰年

    首先简要介绍一下公历上规定的闰年:四年一闰,百年不闰,四百年再闰. 针对这一规则,简要的设计部分测试用例: 附(测试截图): 以下为该程序代码段: import javafx.application. ...

  3. Java基础---AWT

    流式布局FlowLayout package net.zyz; import java.awt.Button; import java.awt.FlowLayout; import java.awt. ...

  4. Java之GUI编程(一)

    GUI全称Graphical User Interfaces,意为图形用户户界面,又称为图形用户接口.GUI指的就是採用图形方式显示的计算机操作用户界面,打个例如吧.我们点击QQ图标,就会弹出一个QQ ...

  5. 通信原理课程设计Javaswing技术计算出PCM编码——猎八哥FLY

    package keshe; import java.awt.BorderLayout; import java.awt.EventQueue; import javax.swing.JFrame; ...

  6. gui小计算器的程序写法

    import java.awt.BorderLayout; import java.awt.EventQueue; import javax.swing.JFrame; import javax.sw ...

  7. awt多线程聊天

    public class ChatServer { boolean started = false; ServerSocket serverSocket = null; public void sta ...

  8. awt

    public class MouseTest extends Frame{ private static final long serialVersionUID = 54376853365952763 ...

  9. 十三、java_GUI

    目录: 一.AWT 二.组件和容器 三.布局管理器 四.事件处理 五.java图形 六.window事件 一.AWT AWT(Abstract Window Toolkit)包括了很多类和接口,用于J ...

随机推荐

  1. Visual Studio VS如何重置所有设置

    工具-导入和导出设置-重置所有设置,点击下一步即可.                  

  2. ABP框架 - 介绍 VS2017调试器无法附加到IIS进程(w3wp.exe) c# 动态实例化一个泛型类

    ABP框架 - 介绍   在14,15年间带领几个不同的团队,交付了几个项目,在这个过程中,虽然几个项目的业务不一样,但是很多应用程序架构基础性的功能却是大同小异,例如认证.授权.请求验证.异常处理. ...

  3. slice,substr,substring的区别

    <!DOCTYPE html> <!-- To change this license header, choose License Headers in Project Prope ...

  4. Thinking in Java -- 类型信息RTTI

    Thinking in Java – 类型信息 个人感觉 java 中的比較难的部分了,在看了些netty源代码发现事实上这块很实用. 这章重点是RTTI和反射.先说下自己的理解 RTTI是执行时识别 ...

  5. 关于mysqld_safe

    昨天花了一天时间写了mysql的源码安装,比较蛋疼.其中对于mysqld_safe尤其不理解,因为使用apt-get安装几乎中间不需要什么配置,只需要service mysql start即可,但是源 ...

  6. inexact rename detection was skipped due to too many files

    https://stackoverflow.com/a/28064699 error: add_cacheinfo failed to refresh for path 'LISA.Kentico.U ...

  7. ValueError: Some of types cannot be determined by the first 100 rows, please try again with sampling

    ValueError: Some of types cannot be determined by the first 100 rows, please try again with sampling ...

  8. bzoj 2726 任务安排

    题目大意: 机器上有N个需要处理的任务,它们构成了一个序列 把这些任务分成若干批 从时刻0开始,这些任务被分批加工,第i个任务单独完成所需的时间是Ti 在每批任务开始前,机器需要启动时间S,而完成这批 ...

  9. BZOJ_5369_[Pkusc2018]最大前缀和_状压DP

    BZOJ_5369_[Pkusc2018]最大前缀和_状压DP Description 小C是一个算法竞赛爱好者,有一天小C遇到了一个非常难的问题:求一个序列的最大子段和. 但是小C并不会做这个题,于 ...

  10. Watir: 对浏览器的保存文件操作, 其实应用的是AutoIt脚本

    def save_file(filepath) ai =WIN32OLE.new("AutoItX3.Control") ai.WinWait("FileDownload ...