java控件响应是swing最基本的内容。在c#中完全不用考虑这个问题,因为拖拽过去的按钮一双击,.net会自动写好事件响应的代码。但java swing就得自己写。今天算是真正搞明白了ActionListener.

以Jbutton这个最简单的Jcomponent为例。双击button是一个事件,而我们需要做出对事件的响应。首先要告诉button,当我双击你时你要做出响应,即要把响应注册到button上。这个用button.addActionListener来实现。ActionListener就是响应的意思,而addActionListener就是增加响应,button.addActionListener就是将响应增加到button上。但“响应”只是个抽象的概念,这也就是ActionListener为什么只是一个interface的原因。真正做出响应的是object。凡是implement ActionListener 的都是可以做出响应的实体,而具体做出什么响应要靠里面actionPerformed的函数写明。

举例:

button2.addActionListener(new Eavesdropper());

class Eavesdropper implements ActionListener {

public void actionPerformed(ActionEvent e) {

System.out.println("Hello World");

}

}

当双击button2时,控制台会打出"Hello World".

当写界面时,常常显示控件的代码和事件处理的代码会混在一起,让一个类文件好大,代码不好维护。现在可以把所有的事件处理写在一个类里面,比如:

public class EventHandlerAdapter{

class btn1EventHandler implements ActionListener{}  //响应button1双击的类

class btn2EventHandler implements ActionListener{}  //响应button2双击的类

}

这样addListener是就会方便多了,使得界面显示程序不包含事件处理,让代码有了很好的分离。这就是Adapter设计模式吧。

java swing actionlistener_关于Java swing Jcomponent的ActionListener相关推荐

  1. java实现actionlistener_在Java中,假设我们有一个实现ActionListener接口的类,以下方法中,()能够为一个Button类注册这个类...

    案例分析一:假定CPU的主频是500MHz.硬盘采用DMA方式进行数据传送,其数据传输率为4MB/s, 每次DMA传输的数据量为8KB, 要求没有任何数据传输被错过. 如果CPU在DMA初始化设置和启 ...

  2. java gui拖拽_Java Swing拖放

    Java Swing教程 - Java Swing拖放 拖放(DnD)是一种在应用程序中传输数据的方法. DnD允许我们通过拖动组件并将其拖放到另一个组件上来传输数据. 拖动的组件称为拖动源;它提供要 ...

  3. java窗体jmeun刷新,java – JME 3 Swing,多幅画布

    我正在玩JME3,目前面临以下问题: 当LWJGL画布包含在多个应用程序选项卡中时,它们都不会或仅运行一次. 这是一个例子: SwingCanvas.java: package jme3test.he ...

  4. 【java毕业设计】基于java+swing+GUI的连连看游戏设计与实现(毕业论文+程序源码)——连连看游戏

    基于java+swing+GUI的连连看游戏设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+swing+GUI的连连看游戏设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦 ...

  5. swing java awt_java中AWT和SWing的区别与联系

    AWT和Swing都是java中的包. AWT(Abstract Window Toolkit):抽象窗口工具包,早期编写图形界面应用程序的包. Swing :为解决 AWT 存在的问题而新开发的图形 ...

  6. java swing自定义组件_JAVA Swing自定义JScorllPanel

    JAVA Swing中JScrollPanle自定义带标尺的JScrollPanel Swing中JScrollPanel的结构与组成如下图: 分为四个角与四个边,中间蓝色矩形为View窗口,可以通过 ...

  7. java swing列表_高级Swing——列表

    1. 列表 1.1 JList构件 JList可以将多个选项放置在单个框中.为了构建列表框,首先需要创建一个字符串数组,然后将这个数组传递给JList构造器. String[] words= { &q ...

  8. java swing最小化_Java swing 窗口最小化到任务栏 点击右键显示菜单(复制代码即可运行查看效果)...

    Java swing 窗口最小化到任务栏 点击右键显示菜单(复制代码即可运行查看效果) package swing; import java.awt.AWTException; import java ...

  9. java swing实现计算器_Java swing实现的计算器功能完整实例

    本文实例讲述了Java swing实现的计算器功能.分享给大家供大家参考,具体如下: package awtDemo; import java.awt.*; import java.awt.event ...

最新文章

  1. python好难找工作_Python 太难找工作了
  2. Leetcode 398. 随机数索引 解题思路及C++实现
  3. consul 命令行参数
  4. Vivado2015.4使用教程(一个完成工程的建立)
  5. 英语进阶系列-A06-本周总结
  6. ubuntu清除无效的右键打开方式
  7. 转载:ThreadPoolExecutor 源码阅读
  8. angular post php 404,AngularJS POST失败:飞行前响应具有无效的HTTP状态代码404
  9. 面向对象——三大特性(封装、继承、多态)
  10. 企业网络规划和设计方案
  11. 判断闰年的3种方法(判断+范围输出)
  12. SQL Server 负载均衡集群方案之Moebius
  13. 消失的2000万辆小黄车去哪儿了?
  14. EasyExcel导出自定义合并单元格文件
  15. 尝试搭建OPhone-sdk 手机模拟器的搭建
  16. 位图文件, JPG格式,PNG格式
  17. window server 2012 R2 端口耗尽 解决办法
  18. Android视频播放器实现小窗口和全屏状态切换
  19. 计算机桌面图标变成腾讯图标,如果无法在Windows 10桌面上找到腾讯计算机管理器图标,该怎么办?...
  20. NEUQ-acm 预备队训练Week8——动态规划2

热门文章

  1. 射频原理和组件介绍:学习如何在频域中分析射频(RF)问题
  2. c语言序数英文,基数词和序数词怎么用,英语中序数词的用法
  3. 深入理解字符串的不可变性[java]
  4. 带你深度剖析《数据在内存中的存储》——C语言
  5. 读书百客:《吴孙皓初童谣》赏析
  6. github release 文件下载贼慢,干脆失败的解决方法
  7. cvs update 用法_CVS的基本用法
  8. 基于双阶段度量学习的跨模态行人再识别
  9. 学会这些方法,素描也能画出水灵灵的眼睛!
  10. 计算机模拟贝特朗奇论,由贝特朗奇论谈几何概型中的等价转化