首页 > 编程语言 >《Java编程思想第四版》学习笔记37--关于 TextField的ActionListener接收器

《Java编程思想第四版》学习笔记37--关于 TextField的ActionListener接收器

时间:2023-11-18 13:04:45浏览次数:129  
标签:Java -- void ActionListener ts t1 new public

//: TextNew.java
// Text fields with Java 1.1 events
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class TextNew extends Applet {
 Button 
 b1 = new Button("Get Text"), 
 b2 = new Button("Set Text");
 TextField 
 t1 = new TextField(30),
 t2 = new TextField(30),
 t3 = new TextField(30);
 String s = new String();
 public void init() {
 b1.addActionListener(new B1());
 b2.addActionListener(new B2());
 t1.addTextListener(new T1());
 t1.addActionListener(new T1A());
 t1.addKeyListener(new T1K());
 add(b1);
 add(b2);
 add(t1);
 add(t2);
 add(t3);
 }
 class T1 implements TextListener {
 public void textValueChanged(TextEvent e) {
 t2.setText(t1.getText());
 }
 }
 class T1A implements ActionListener {
 private int count = 0;
 public void actionPerformed(ActionEvent e) {
 t3.setText("t1 Action Event " + count++);
 }
 }
 class T1K extends KeyAdapter {
 public void keyTyped(KeyEvent e) {
 String ts = t1.getText();
 if(e.getKeyChar() == 
 KeyEvent.VK_BACK_SPACE) {
 // Ensure it's not empty:
 if( ts.length() > 0) {
 ts = ts.substring(0, ts.length() - 1);
 t1.setText(ts);
 }
 } 
 else
 t1.setText(
 t1.getText() +
 Character.toUpperCase(
 e.getKeyChar()));
 t1.setCaretPosition(
 t1.getText().length());
 // Stop regular character from appearing:
 e.consume(); 
 }
 }
 class B1 implements ActionListener {
 public void actionPerformed(ActionEvent e) {
 s = t1.getSelectedText();
 if(s.length() == 0) s = t1.getText();
 t1.setEditable(true);
 }
 }
 class B2 implements ActionListener {
 public void actionPerformed(ActionEvent e) {
 t1.setText("Inserted by Button 2: " + s);
 t1.setEditable(false);
 }
 }
 public static void main(String[] args) {
 TextNew applet = new TextNew();
 Frame aFrame = new Frame("TextNew");
 aFrame.addWindowListener(
 new WindowAdapter() {
 public void windowClosing(WindowEvent e) {
 System.exit(0);
 }
 });
 aFrame.add(applet, BorderLayout.CENTER);
 aFrame.setSize(300,200);
 applet.init();
 applet.start();
 aFrame.setVisible(true);
 }
 } ///:~

                                                                                                                                                     P.416

经测试:该例程中的ActionListener接收器不起作用,注释掉t1.addKeyListener(new T1K());语句后ActionListener接收器才起作用。是不是加上 KeyAdapter后把ActionListener接收器屏蔽了。


标签:Java,--,void,ActionListener,ts,t1,new,public
From: https://blog.51cto.com/u_16183536/8460711

相关文章

  • iptables 介绍及用法
    Netfilter我们在介绍这个iptables工具之前,需要知道这个Netfilter是什么。Linux防火墙是由Netfilter组件提供的,Netfilter工作在内核空间,集成在linux内核中Netfilter是Linux2.4.x之后新一代的Linux防火墙机制,是linux内核的一个子系统。Netfilter采用模块化设计,具有良好的可扩充性......
  • C语言小案例
    在一个整型数组中插入任意一个数字,进行重新排序,用多种方法如何实现?方法1:直接插入排序法#include<stdio.h>voidinsert(intarr[],intn,intx){inti,j;for(i=0;i<n;i++){if(arr[i]>x){for(j=n-1;j>=i;j--){......
  • Spring Boot 如何实现纯文本转成.csv格式文件?
    前言数据处理在现代软件开发领域中占据着重要的位置。在这些处理过程中,转换文本格式是很常见的一个需求,比如将纯文本转化为CSV格式文件。本文将介绍如何使用SpringBoot实现这一需求。摘要本文将会介绍使用SpringBoot将纯文本转化为CSV格式文件的方法。我们将会探讨这......
  • 怎么查看系统有没有安装工具链?
    要查看系统是否安装了工具链,可以通过以下步骤进行:打开终端(命令行界面)。输入以下命令,并按下回车键:shell复制代码gcc--version如果系统已经安装了GCC(GNUCompilerCollection,GNU编译器套件),则会显示GCC的版本信息。如果未安装,则会提示找不到命令或类似的错误信息。另外,如果需要检查......
  • 总结MYSQL中VHARCHAR和TEXT
    前几天在设计表结构时,针对表中的一个字段使用text还是使用varchar是受到了开发同学的挑战。本篇文章对text和varchar的区别做个总结。VHARCHAR和TEXT对比char(n)varchar(n)中括号中n代表字符的个数,并不代表字节个数,所以当使用了中文的时候(utf8)意味着可以插入m个中文,但是实际会占......
  • 更新数据状态多大一批比较好另外list里面放可以多少数据由什么决定
    更新数据的批量大小没有一个固定的标准,它取决于多个因素,包括数据库的性能、网络环境、服务器资源以及具体的业务需求。一般来说,使用适当的批量大小可以提高更新操作的效率。如果批量大小过小,会增加数据库连接和网络通信的开销;而如果批量大小过大,可能会占用过多的内存和数据库资源,导......
  • 案例三嵌套循环
    案例三嵌套循环[root@localhostscript]#vimtest4.sh#!/usr/bin/bashforiin{1..100}dowhile[$i-lt50]do    echo$i    #leti++donedone[root@localhostscript]#chmod+xtest4.sh[root@localhostscript]#bashtest4.sh练习题:1.输入......
  • 变量的类型
    在内存中创建一个变量,会包括:变量的名称变量保存的数据变量存储数据的类型变量的地址(标示)2.1变量类型的演练——个人信息需求定义变量保存小明的个人信息姓名:小明年龄:18岁性别:是男生身高:1.75米体重:75.0公斤利用单步调试确认变量中保存数据的类型提问在演练中,一共有几种数据......
  • 第一篇Scrum冲刺博客
    Alpha任务认领任务负责人员预计工时登录赵继业努尔艾力·亚森8h前端UI设计艾里扎提·买买提邱政阳4h学生功能模块赛尔达尔·艾思开尔4h老师功能模块吴政毅4h管理员模块艾孜买提·艾合提4h明日任务任务负责人员预计工时前端UI......
  • 空中滑步创始人视频分析.
    https://www.bilibili.com/video/BV15C4y137ag/?spm_id_from=333.788.top_right_bar_window_default_collection.content.click&vd_source=d68ed178f151e80fea1e02efd205802c右腿拉回同时,左腿跳.同时换手    之后就是循环即可. ......