在java中,都将事件的相关信息封装在一个事件对象中,所有的事件对象都最终派生于java.util.EventObje
类。当然,每个事件类型还有子类,例如ActionEvent和WindowEvent。不同的事件源可以产生不同类别
的事件。例如,按钮可以发送一个ActionEvent对象,而窗口可以发送WindowEvent对象。


下面以一个响应按钮点击事件简单示例来说明所需要知道的所有细节。在这个示例中,想要在一个面板中
放置三个按钮,添加三个监听器对象用来作为按钮的动作监听器。只要用户点击面板上的任何一个按钮,
相关的监听器对象就会接收到一个Action Event对象,他表示有个按钮被点击了。在示例程序中,监听器
对象将改变面板的背景颜色。

  1. import java.awt.*;
  2. import java.awt.event.*;
  3. import javax.swing.*;
  4. public class Main {
  5. public static void main(String[] args)
  6. {
  7. EventQueue.invokeLater(()->{
  8. JFrame frame=new ButtonFrame();
  9. frame.setTitle("ListenerTest");
  10. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  11. frame.setVisible(true);
  12. }
  13. );
  14. }
  15. }
  16. class ButtonFrame extends JFrame {
  17. private JPanel buttonPanel;
  18. public ButtonFrame(){
  19. setSize(300,200);
  20. //create buttons
  21. JButton yellowButton = new JButton("Yellow");
  22. JButton blueButton=new JButton("Blue");
  23. JButton redButton=new JButton("Red");
  24. /*
  25. 由于不能将组件加入到JFrame中,我们使用JPanel(一个面板容器类,可以放按钮、图片、标签等)作为中间容器,
  26. 然后再将JPanel置为JFrame的内容
  27. */
  28. buttonPanel=new JPanel();
  29. //add buttons to panel
  30. buttonPanel.add(yellowButton);
  31. buttonPanel.add(blueButton);
  32. buttonPanel.add(redButton);
  33. //add panel to frame
  34. add(buttonPanel);
  35. //create button actions
  36. ColorAction yellowAction = new ColorAction(Color.YELLOW);
  37. ColorAction blueAction = new ColorAction(Color.BLUE);
  38. ColorAction redAction = new ColorAction(Color.RED);
  39. //associate actions with buttons
  40. yellowButton.addActionListener(yellowAction);
  41. blueButton.addActionListener(blueAction);
  42. redButton.addActionListener(redAction);
  43. }
  44. //当按钮被点击时,将面板的颜色设置为指定的颜色,这个颜色存储在监听器类中
  45. private class ColorAction implements ActionListener{
  46. private Color backgroundColor;
  47. public ColorAction(Color c){
  48. backgroundColor = c;
  49. }
  50. public void actionPerformed(ActionEvent event){
  51. //ActionEvent对应按钮点击、菜单选择、选择列表项或在文本框中ENTER
  52. buttonPanel.setBackground((backgroundColor));
  53. }
  54. }
  55. }

例如,如果在标有“ Yellow”的按钮上点击了一下,此按钮绑定的事件yellowAction对象的actionPerformed
方法就会被调用。这个对象的backgroundColor实例域被设置为Color.YELLOW,现在就将面板的背景色设
置为黄色了

按钮点击事件(java)相关推荐

  1. java添加按钮点击事件_如何为odoo 10中的按钮点击事件添加一个java脚本处理程序?...

    我想使用java脚本为header中的按钮创建一个处理程序.下面我视图模型给出:如何为odoo 10中的按钮点击事件添加一个java脚本处理程序? inherit_id="web.asset ...

  2. java button click事件_java处理按钮点击事件的方法

    java处理按钮点击事件的方法 发布时间:2020-09-17 07:17:02 来源:脚本之家 阅读:70 作者:jingxian 不同的事件源可以产生不同类别的事件.例如,按钮可以发送一个Acti ...

  3. java的按钮点击事件_java处理按钮点击事件的方法

    不同的事件源可以产生不同类别的事件.例如,按钮可以发送一个ActionEvent对象,而窗口可以发送WindowEvent对象. AWT时间处理机制的概要: 1. 监听器对象是一个实现了特定监听器接口 ...

  4. java的按钮点击事件_[转载]java处理按钮点击事件

    不同的事件源可以产生不同类别的事件.例如,按钮可以发送一个ActionEvent对象,而窗口可以发送WindowEvent对象. AWT时间处理机制的概要: 1.监听器对象是一个实现了特定监听器接口( ...

  5. java监听焦点事件_监听input输入框的失去焦点事件与按钮点击事件执行的顺序问题...

    1.问题描述 当在监听input失去焦点的事件的时候,在input输入框输入一段文字之后,点击发送按钮会发现,只触发了失去焦点事件,按钮点击事件并没有被触发,当再次点击按钮的时候,事件才会被触发 2. ...

  6. 【Android 插件化】Hook 插件化框架 ( Hook 实现思路 | Hook 按钮点击事件 )

    Android 插件化系列文章目录 [Android 插件化]插件化简介 ( 组件化与插件化 ) [Android 插件化]插件化原理 ( JVM 内存数据 | 类加载流程 ) [Android 插件 ...

  7. Android Listview中Button按钮点击事件冲突解决办法

    今天做项目时,ListView中含有了Button组件,心里一早就知道肯定会有冲突,因为以前就遇到过,并解决过,可惜当时没有记录下来. 今天在做的时候,继续被这个问题郁闷了一把,后来解决后,赶紧来记录 ...

  8. Android之按钮点击事件——显示图片隐藏图片

    哈喽!时隔两个月,我又和大家见面啦! 今天,我要分享的内容一如既往的很基础,即关于Android的按钮点击事件--显示图片&&隐藏图片,它的执行过程比较简单,所以这里我就不放什么图片或 ...

  9. RxSwift之订阅UITableViewCell里的按钮点击事件

    一.前言 我们知道,通过订阅 tableView 的 itemSelected 或 modelSelected 这两个 Rx 扩展方法,可以对单元格的点击事件进行响应,并执行相关的业务代码. 但有时候 ...

最新文章

  1. Android 跨进程通信基础
  2. pl sql如何调试oracle存储过程,PL/SQL Developer中调试oracle的存储过程
  3. Oralce Plsql 中文显示乱码问题无需修改注册表完美解决
  4. 什么是数字孪生?有哪些关键能力?
  5. java通信方式_java 认知底层的五种通信方式
  6. 基于JSP的图书销售管理系统
  7. 机器学习——联合概率分布及其意义
  8. psv无线怎么连接电脑连接服务器,如何使用PSV远程操作电脑 PSVITA REMOTE DESKTOP详细教程...
  9. ubuntu18.04更新内核导致显卡驱动失效
  10. Notes Sixth day-渗透攻击-红队-打入内网
  11. 一般常见电子邮箱都有哪几种?最常用的邮箱有哪些?
  12. Android游戏开发学习笔记(三):视频的播放
  13. SQL将Json字符串转为表格
  14. EXCEL中用TEXT函数将文本转换成日期
  15. winXP/win7/win10系统关闭445端口方法全攻略
  16. GSM Communication on EBox4300--(3)
  17. 三度进击IPO,诚达药业为何如此执着?
  18. 机器学习(2)逻辑回归
  19. html 左边固定右边自动,css经典布局之左侧固定大小右侧自动适应
  20. model3充电方式_Model3首发评测 篇二:内饰、充电介绍

热门文章

  1. 如何实现JSP网页模板 JSP网页母版
  2. 「DaoCloud 道客」荣升Istio指导委员会席位
  3. 魔兽世界美服部落人数最多服务器,美服部落转联盟服务正式开启 规模继续扩大...
  4. linux里添加网卡,Linux添加虚拟网卡的多种方法
  5. 网卡清空缓存命令_清除网卡中IP缓存
  6. 转行学java好学吗?完全没有经验怎么办?
  7. Visual Studio调试方式详解
  8. 青岛海尔供应商java面试_海尔集团软件工程师面试经验
  9. MySQL不建议使用UUID作为主键的原因
  10. 用cobar搭建分布式数据库 .