博客
关于我
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();

 }

}

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

结果如下:

你可能感兴趣的文章
Mysql order by与limit混用陷阱
查看>>
mysql order by多个字段排序
查看>>
MySQL Order By实现原理分析和Filesort优化
查看>>
mysql problems
查看>>
mysql replace first,MySQL中处理各种重复的一些方法
查看>>
MySQL replace函数替换字符串语句的用法(mysql字符串替换)
查看>>
mysql replace用法
查看>>
Mysql Row_Format 参数讲解
查看>>
mysql select, from ,join ,on ,where groupby,having ,order by limit的执行顺序和书写顺序
查看>>
MySQL Server 5.5安装记录
查看>>
mysql server has gone away
查看>>
mysql slave 停了_slave 停止。求解决方法
查看>>
MySQL SQL 优化指南:主键、ORDER BY、GROUP BY 和 UPDATE 优化详解
查看>>
MYSQL sql语句针对数据记录时间范围查询的效率对比
查看>>
mysql sum 没返回,如果没有找到任何值,我如何在MySQL中获得SUM函数以返回'0'?
查看>>
mysql Timestamp时间隔了8小时
查看>>
Mysql tinyint(1)与tinyint(4)的区别
查看>>
mysql union orderby 无效
查看>>
mysql v$session_Oracle 进程查看v$session
查看>>
mysql where中如何判断不为空
查看>>