java SWing事件调用的两种机制
- /**
- * java swing中事件调用的两种机制:
- * (一)响应机制
- * (二)回调机制
- */
- package test;
- import java.awt.*;
- import java.awt.event.*;
- import javax.swing.*;
- class SimpleListener implements ActionListener {
- /*
- * 利用该类来监听事件源产生的事件,利用响应机制
- */
- public void actionPerformed(ActionEvent e) {
- String buttonName = e.getActionCommand();
- if (buttonName.equals("按钮1"))
- System.out.println("按钮1 被点击");
- }
- }
- /*
- * 利用该类来处理事件源产生的事件,利用回调机制
- */
- class ButtonAction extends AbstractAction {
- public void actionPerformed(ActionEvent e) {
- System.out.println("按钮2 被点击");
- }
- }
- public class ActionTest {
- private static JFrame frame; // 定义为静态变量以便main使用
- private static JPanel myPanel; // 该面板用来放置按钮组件
- private JButton button1; // 这里定义按钮组件
- private JButton button2;
- public ActionTest() { // 构造器, 建立图形界面
- // 新建面板
- myPanel = new JPanel();
- // 新建按钮
- button1 = new JButton("按钮1"); // 新建按钮1
- // 建立一个actionlistener让按钮1注册,以便响应事件
- SimpleListener ourListener = new SimpleListener();
- button1.addActionListener(ourListener);
- button2 = new JButton();// 新建按钮2
- // 建立一个ButtonAction注入按钮2,以便响应事件
- ButtonAction action = new ButtonAction();
- button2.setAction(action);
- button2.setText("按钮2");
- myPanel.add(button1); // 添加按钮到面板
- myPanel.add(button2);
- }
- public static void main(String s[]) {
- ActionTest gui = new ActionTest(); // 新建Simple1组件
- frame = new JFrame("Simple1"); // 新建JFrame
- // 处理关闭事件的通常方法
- frame.addWindowListener(new WindowAdapter() {
- public void windowClosing(WindowEvent e) {
- System.exit(0);
- }
- });
- frame.getContentPane().add(myPanel);
- frame.pack();
- frame.setVisible(true);
- }
- }
- 顶
- 1
java SWing事件调用的两种机制的更多相关文章
- JAVA客户端API调用memcached两种方式
1. memcached client for java客户端API:memcached client for java 引入jar包:java-memcached-2.6.2.jar package ...
- phpcms调取数据库的两种机制
在phpcms中,模板调取后台的数据有两种机制: 1.在控制器中定义数据,在模板中直接调用. 2.标签机制.即在模块的classes/tag.class中定义标签类,然后在模板中用标签调用 两种调用机 ...
- 关于JAVA中事件分发和监听机制实现的代码实例-绝对原创实用
http://blog.csdn.net/5iasp/article/details/37054171 文章标题:关于JAVA中事件分发和监听机制实现的代码实例 文章地址: http://blog.c ...
- java中数组复制的两种方式
在java中数组复制有两种方式: 一:System.arraycopy(原数组,开始copy的下标,存放copy内容的数组,开始存放的下标,需要copy的长度); 这个方法需要先创建一个空的存放cop ...
- 巨蟒python全栈开发数据库前端6:事件onclick的两种绑定方式&&onblur和onfocus事件&&window.onload解释&&小米商城讲解
1.回顾上节内容(JavaScript) 一.JavaScript概述 1.ECMAScript和JavaScript的关系 2.ECMAScript的历史 3.JavaScript是一门前后端都可以 ...
- Kubernetes 健康检查的两种机制:Liveness 探测和 Readiness 探测
Kubernetes 健康检查的两种机制:Liveness 探测和 Readiness 探测,并实践了健康检查在 Scale Up 和 Rolling Update 场景中的应用.kubelet使用启 ...
- Java中HashMap遍历的两种方式
Java中HashMap遍历的两种方式 转]Java中HashMap遍历的两种方式原文地址: http://www.javaweb.cc/language/java/032291.shtml 第一种: ...
- java动态获取WebService的两种方式(复杂参数类型)
java动态获取WebService的两种方式(复杂参数类型) 第一种: @Override public OrderSearchListRes searchOrderList(Order_Fligh ...
- Java使用SFTP和FTP两种连接方式实现对服务器的上传下载 【我改】
[]如何区分是需要使用SFTP还是FTP? []我觉得: 1.看是否已知私钥. SFTP 和 FTP 最主要的区别就是 SFTP 有私钥,也就是在创建连接对象时,SFTP 除了用户名和密码外还需要知道 ...
随机推荐
- linux网络编程——域名转换 gethostbyname与gethostbyaddr
域名转换 #include <netdb.h> struct hostent *gethostbyname(const char *name); 参数: name: 执行主机名的指针 返回 ...
- 【汇总】java中数组的声明、初始化及遍历
java中数组用来存储固定大小的同类型元素 一维数组: 1.数组的声明: //声明一维数组,推荐用第一种 int[] a; int b[]; 2.数据的初始化:有三种初始化方式 (1).静态初始化 / ...
- Linux 安装 JDK 详解
安装 JDK 说明:Linux 系统中安装软件需在 root 用户下进行. (1) 首先下载 jdk-8u131-linux-x64.rpm (2)将用户切换至 root,在 opt 文件夹下新建 s ...
- Linux设置history命令显示行数以及时间
Linux和unix上都提供了history命令,可以查询以前执行的命令历史记录但是,这个记录并不包含时间项目因此只能看到命令,但是不知道什么时间执行的如何让history记录时间呢? 解决方案 注意 ...
- HDU 1220 简单数学题
题目大意是 在魔方上找到有多少对小立方块它们之间连接的点不超过两个 因为任意两个立方块之间相连的点就只有0,1,2,4 这样4种情况 那么我们只需要考虑总共的组成立方块对数 sum = C(2 , n ...
- [luoguP1854] 花店橱窗布置(DP)
传送门 f[i][j] 表示前 i 盆花,放到前 j 个花盆中的最优解 pre[i][j] 记录前驱 代码 #include <cstdio> #include <cstring&g ...
- hdu 4670 树的分治-求点对的个数
/* 树的分治 因为树的点权值可达到10^15,注意手动扩栈,还有int64 题意:给你一棵树,给你一些素数,给你每个点一个权值且每个权值均可由这些素数组成.现在定义任意任意两点的价值为他们路径上的权 ...
- Sliding Window(滑动窗口)
Time Limit: 12000MS Memory Limit: 65536K Total Submissions: 58002 Accepted: 16616 Case Time Limi ...
- 免XML的SpringMVC配置
Servlet 3.0以后,新增了一些注解,使得web.xml可以省略掉.这样配合Spring的JavaConfig就可以实现免xml的项目配置,这里简单搭建一个免XML的SpringMVC.Spri ...
- 做ssh框架整合的时候,遇到如下错误:AnnotationTransactionAttributeSource is only available on Java 1.5 and higher
nested exception is java.lang.IllegalStateException: AnnotationTransactionAttributeSource is only av ...