博客
关于我
Swing中的事件
阅读量:754 次
发布时间:2019-03-22

本文共 1151 字,大约阅读时间需要 3 分钟。

在Java中,事件处理机制被分为“事件源”、“事件”、“监听器”这三部分,每一部分负责一个任务,完整地结合在一起就构成了Java事件的基本框架。

事件是一种很好的让界面和用户进行交互的手段。

当用户和界面交互时,经常会进行一些操作,例如单击按钮,按下指定键盘键,都会触发事件。

事件触发后会告诉程序发生的事件,程序会根据不同的事件做出反应。在事件的发生和响应的过程中需要两个对象,事件源和事件监听器。

1)事件源就是触发事件的控件,这里包括按钮、文本框、窗体等多种控件。但是不同的控件存在不同的事件,事件信息被封装在事件对象中。

2)事件监听器是指实现专门的监听接口的类的对象。每个事件都有对应的监听接口,同时在该接口中给出了处理事件的方法。在编写监听器时需要事件监听接口,

同时实现其中的方法,在方法中编写触发事件后执行的程序。在编写程序时,还需要将监听器注册给事件源,这样才能执行事件。

3)事件源与监听器之间是多对多的关系,一个事件源可以对应多个监听器,一个监听器可以为多个事件源服务。

package com.whut.sw;

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

import javax.swing.*;

public class Swing12 extends JFrame{

 JButton jb = new JButton();
 int i=0;
 //定义构造器
 public Swing12(){
  this.setTitle("创建按钮");
  jb.setText("按钮按下了0次");
  jb.setMnemonic('a'); //设置按钮的助记符
  this.add(jb);
  //为按钮注册监听器
  jb.addActionListener(new ActionListener() {   
   
   public void actionPerformed(ActionEvent e) {
    Swing12.this.jb.setText("按钮按下了"+(++i)+"次");
    
   }
  });
  
  this.setBounds(300, 260, 300, 200);
  this.setVisible(true);
  
 }
 public static void main(String[] args) {
  Swing12 s = new Swing12();

 }

}

-----------------------------------------------------------------------------------------------------------

结果如下:

你可能感兴趣的文章
NIFI1.21.0_NIFI和hadoop蹦了_200G集群磁盘又满了_Jps看不到进程了_Unable to write in /tmp. Aborting----大数据之Nifi工作笔记0052
查看>>
NIFI1.21.0_Postgresql和Mysql同时指定库_指定多表_全量同步到Mysql数据库以及Hbase数据库中---大数据之Nifi工作笔记0060
查看>>
NIFI1.21.0最新版本安装_连接phoenix_单机版_Https登录_什么都没改换了最新版本的NIFI可以连接了_气人_实现插入数据到Hbase_实际操作---大数据之Nifi工作笔记0050
查看>>
NIFI1.21.0最新版本安装_配置使用HTTP登录_默认是用HTTPS登录的_Https登录需要输入用户名密码_HTTP不需要---大数据之Nifi工作笔记0051
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增删改数据分发及删除数据实时同步_通过分页解决变更记录过大问题_02----大数据之Nifi工作笔记0054
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增加修改实时同步_使用JsonPath及自定义Python脚本_03---大数据之Nifi工作笔记0055
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_插入修改删除增量数据实时同步_通过分页解决变更记录过大问题_01----大数据之Nifi工作笔记0053
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表或全表增量同步_实现指定整库同步_或指定数据表同步配置_04---大数据之Nifi工作笔记0056
查看>>
NIFI1.23.2_最新版_性能优化通用_技巧积累_使用NIFI表达式过滤表_随时更新---大数据之Nifi工作笔记0063
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现update数据实时同步_实际操作05---大数据之Nifi工作笔记0044
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现数据实时delete同步_实际操作04---大数据之Nifi工作笔记0043
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置binlog_使用处理器抓取binlog数据_实际操作01---大数据之Nifi工作笔记0040
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_实现数据插入数据到目标数据库_实际操作03---大数据之Nifi工作笔记0042
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_生成插入Sql语句_实际操作02---大数据之Nifi工作笔记0041
查看>>
NIFI从MySql中离线读取数据再导入到MySql中_03_来吧用NIFI实现_数据分页获取功能---大数据之Nifi工作笔记0038
查看>>
NIFI从MySql中离线读取数据再导入到MySql中_不带分页处理_01_QueryDatabaseTable获取数据_原0036---大数据之Nifi工作笔记0064
查看>>
NIFI从MySql中离线读取数据再导入到MySql中_无分页功能_02_转换数据_分割数据_提取JSON数据_替换拼接SQL_添加分页---大数据之Nifi工作笔记0037
查看>>
NIFI从Oracle11G同步数据到Mysql_亲测可用_解决数据重复_数据跟源表不一致的问题---大数据之Nifi工作笔记0065
查看>>
NIFI从PostGresql中离线读取数据再导入到MySql中_带有数据分页获取功能_不带分页不能用_NIFI资料太少了---大数据之Nifi工作笔记0039
查看>>
nifi使用过程-常见问题-以及入门总结---大数据之Nifi工作笔记0012
查看>>