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

 }

}

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

结果如下:

你可能感兴趣的文章
netty底层源码探究:启动流程;EventLoop中的selector、线程、任务队列;监听处理accept、read事件流程;
查看>>
Netty心跳检测
查看>>
Netty心跳检测机制
查看>>
netty既做服务端又做客户端_网易新闻客户端广告怎么做
查看>>
Netty核心模块组件
查看>>
Netty框架内的宝藏:ByteBuf
查看>>
Netty框架的服务端开发中创建EventLoopGroup对象时线程数量源码解析
查看>>
Netty源码—1.服务端启动流程一
查看>>
Netty源码—1.服务端启动流程二
查看>>
Netty源码—2.Reactor线程模型一
查看>>
Netty源码—2.Reactor线程模型二
查看>>
Netty源码—3.Reactor线程模型三
查看>>
Netty源码—3.Reactor线程模型四
查看>>
Netty源码—4.客户端接入流程一
查看>>
Netty源码—4.客户端接入流程二
查看>>
Netty源码—5.Pipeline和Handler一
查看>>
Netty源码—5.Pipeline和Handler二
查看>>
Netty源码—6.ByteBuf原理一
查看>>
Netty源码—6.ByteBuf原理二
查看>>
Netty源码—7.ByteBuf原理三
查看>>