Java(91) 
  1. /**
  2. * java swing中事件调用的两种机制:
  3. * (一)响应机制
  4. * (二)回调机制
  5. */
  6. package test;
  7. import java.awt.*;
  8. import java.awt.event.*;
  9. import javax.swing.*;
  10. class SimpleListener implements ActionListener {
  11. /*
  12. * 利用该类来监听事件源产生的事件,利用响应机制
  13. */
  14. public void actionPerformed(ActionEvent e) {
  15. String buttonName = e.getActionCommand();
  16. if (buttonName.equals("按钮1"))
  17. System.out.println("按钮1 被点击");
  18. }
  19. }
  20. /*
  21. * 利用该类来处理事件源产生的事件,利用回调机制
  22. */
  23. class ButtonAction extends AbstractAction {
  24. public void actionPerformed(ActionEvent e) {
  25. System.out.println("按钮2 被点击");
  26. }
  27. }
  28. public class ActionTest {
  29. private static JFrame frame; // 定义为静态变量以便main使用
  30. private static JPanel myPanel; // 该面板用来放置按钮组件
  31. private JButton button1; // 这里定义按钮组件
  32. private JButton button2;
  33. public ActionTest() { // 构造器, 建立图形界面
  34. // 新建面板
  35. myPanel = new JPanel();
  36. // 新建按钮
  37. button1 = new JButton("按钮1"); // 新建按钮1
  38. // 建立一个actionlistener让按钮1注册,以便响应事件
  39. SimpleListener ourListener = new SimpleListener();
  40. button1.addActionListener(ourListener);
  41. button2 = new JButton();// 新建按钮2
  42. // 建立一个ButtonAction注入按钮2,以便响应事件
  43. ButtonAction action = new ButtonAction();
  44. button2.setAction(action);
  45. button2.setText("按钮2");
  46. myPanel.add(button1); // 添加按钮到面板
  47. myPanel.add(button2);
  48. }
  49. public static void main(String s[]) {
  50. ActionTest gui = new ActionTest(); // 新建Simple1组件
  51. frame = new JFrame("Simple1"); // 新建JFrame
  52. // 处理关闭事件的通常方法
  53. frame.addWindowListener(new WindowAdapter() {
  54. public void windowClosing(WindowEvent e) {
  55. System.exit(0);
  56. }
  57. });
  58. frame.getContentPane().add(myPanel);
  59. frame.pack();
  60. frame.setVisible(true);
  61. }
  62. }
 
1

java SWing事件调用的两种机制的更多相关文章

  1. JAVA客户端API调用memcached两种方式

    1. memcached client for java客户端API:memcached client for java 引入jar包:java-memcached-2.6.2.jar package ...

  2. phpcms调取数据库的两种机制

    在phpcms中,模板调取后台的数据有两种机制: 1.在控制器中定义数据,在模板中直接调用. 2.标签机制.即在模块的classes/tag.class中定义标签类,然后在模板中用标签调用 两种调用机 ...

  3. 关于JAVA中事件分发和监听机制实现的代码实例-绝对原创实用

    http://blog.csdn.net/5iasp/article/details/37054171 文章标题:关于JAVA中事件分发和监听机制实现的代码实例 文章地址: http://blog.c ...

  4. java中数组复制的两种方式

    在java中数组复制有两种方式: 一:System.arraycopy(原数组,开始copy的下标,存放copy内容的数组,开始存放的下标,需要copy的长度); 这个方法需要先创建一个空的存放cop ...

  5. 巨蟒python全栈开发数据库前端6:事件onclick的两种绑定方式&&onblur和onfocus事件&&window.onload解释&&小米商城讲解

    1.回顾上节内容(JavaScript) 一.JavaScript概述 1.ECMAScript和JavaScript的关系 2.ECMAScript的历史 3.JavaScript是一门前后端都可以 ...

  6. Kubernetes 健康检查的两种机制:Liveness 探测和 Readiness 探测

    Kubernetes 健康检查的两种机制:Liveness 探测和 Readiness 探测,并实践了健康检查在 Scale Up 和 Rolling Update 场景中的应用.kubelet使用启 ...

  7. Java中HashMap遍历的两种方式

    Java中HashMap遍历的两种方式 转]Java中HashMap遍历的两种方式原文地址: http://www.javaweb.cc/language/java/032291.shtml 第一种: ...

  8. java动态获取WebService的两种方式(复杂参数类型)

    java动态获取WebService的两种方式(复杂参数类型) 第一种: @Override public OrderSearchListRes searchOrderList(Order_Fligh ...

  9. Java使用SFTP和FTP两种连接方式实现对服务器的上传下载 【我改】

    []如何区分是需要使用SFTP还是FTP? []我觉得: 1.看是否已知私钥. SFTP 和 FTP 最主要的区别就是 SFTP 有私钥,也就是在创建连接对象时,SFTP 除了用户名和密码外还需要知道 ...

随机推荐

  1. 百度地图API获取数据

    目前,大厂的服务范围越来越广,提供的数据信息也是比较全的,在生活服务,办公领域,人工智能等方面都全面覆盖,相对来说,他们的用户基数大,通过用户获取的信息也是巨大的.除了百度提供api,国内提供免费AP ...

  2. Vue组件传值方法调用

    1.子组件改变父组件的值 <father  label="云盘快照" name="name2"> <son :props='rows'   @ ...

  3. 【Redis】三、Redis安装及简单示例

    (四)Redis安装及使用   Redis的安装比较简单,仍然和大多数的Apache开源软件一样,只需要下载,解压,配置环境变量即可.具体安装过程参考:菜鸟教程Redis安装.   安装完成后,通过r ...

  4. 行内块+calc+margin 三列布局

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  5. CentOS \Linux文件权限详解

    文件和目录权限概述 在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问:允许一个 ...

  6. linux tail-在屏幕上显示指定文件的末尾若干行

    博主推荐:获取更多 linux文件内容查看命令 收藏:linux命令大全 tail命令用于输入文件中的尾部内容.tail命令默认在屏幕上显示指定文件的末尾10行.如果给定的文件不止一个,则在显示的每个 ...

  7. 团队一致性的PHP开发环境之Vagrant

    Vagrant 简介 Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境. 它的主要意义是让所有开发人员都使用和线上服务器一样的环境,本质上和你新建一个虚拟机 安装 # https: ...

  8. redis学习——系统管理

    Redis系统管理 实验简介 上一节实验讲述了Redis的基本数据类型,本实验继续讲解Redis相关命令及管理操作. 在Redis中,命令大小写不敏感. 一.适合全体类型的常用命令 启动redis服务 ...

  9. linux下git+github个人使用记录

    Linux: 安装git的命令: sudo apt install git 查看版本确认安装成功: git --version 生成密钥: ssh-keygen -t rsa -C "you ...

  10. 50. Spring Boot日志升级篇—log4j【从零开始学Spring Boot】

    如果你使用的是spring boot 1.4.0版本的话,那么你可能需要配合以下文章进行学习 90.Spring Boot 1.4 使用log4j错误[从零开始学Spring Boot] Log4j是 ...