在JAVA应用程序或者Applet运行时,如果用户进行某个操作,例如单机鼠标键或者输入字符,程序应当做出适当响应。
那举个例子来说,当我们点击某个按钮,会出现一个按钮事件,那么这个就是按钮的事件处理;
在这里呢,我们还是通过举例子来说明JAVA的事件处理;

首先我们在容器中加入一个按钮,我们给这个按钮添加事件处理;

public static void main(String[] args) {JFrame frame=new JFrame("event");JButton b1;b1=new JButton("b1");frame.getContentPane().setLayout(new FlowLayout());frame.add(b1);frame.setSize(300,100);frame.setVisible(true);}

运行后的话;

现在我想点击这个按钮,在控制台有字符串输出;

首先我们要新建一个类;
加上接口并且重写其中方法(固定的);

package array;
import java.awt.event.*;
public class ButtonHandler implements ActionListener{public void actionPerformed(ActionEvent e){System.out.println("点击了按钮");}}

当然还要加上头文件;

然后回到主函数加上一行代码;

b1.addActionListener(new ButtonHandler());

就完全可以了;

public static void main(String[] args) {JFrame frame=new JFrame("event");JButton b1;b1=new JButton("b1");frame.getContentPane().setLayout(new FlowLayout());frame.add(b1);b1.addActionListener(new ButtonHandler());frame.setSize(300,100);frame.setVisible(true);}

然后我们运行看一下效果;

是不是很简单;

然后介绍第二种方法;

我们直接及新建一个类让他继承与JBtton并且写上他的接口;
写好构造方法,还有重写的actionPerformed方法;

import java.awt.event.*;import javax.swing.*;public class Mybutton extends JButton implements ActionListener{public Mybutton(String str) {super(str);this.addActionListener(this);}@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubSystem.out.println("点击了按钮");}

然后我们的主函数里面,就可以一直用这个按钮了,想用的时候我就建一个,不用再写一个事件处理的类了;

public static void main(String[] args) {JFrame frame=new JFrame("event");Mybutton b1;b1=new Mybutton("b1");frame.getContentPane().setLayout(new FlowLayout());frame.add(b1);b1.addActionListener(new ButtonHandler());frame.setSize(300,100);frame.setVisible(true);}

运行效果和刚才的一模一样;

第三种方法,我们不用新建类,直接就在主函数里面写全部的,如果代码不多的话可以这样,但如果代码很多就不建议这样;
直接来代码吧;

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class test {public static void main(String[] args) {JFrame frame=new JFrame("event");JButton b1;b1=new JButton("b1");b1.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubSystem.out.println("点击了按钮");}});frame.getContentPane().setLayout(new FlowLayout());frame.add(b1);b1.addActionListener(new ButtonHandler());frame.setSize(300,100);frame.setVisible(true);}
}

虽然不用写接口和继承;
但是依旧要写重写的方法;
然后就是格式不要出错;
运行结果和上面的都一样;

到这里三种事件处理的方法就说完了;
OK,结束;
END;

JAVA图形界面中的事件处理相关推荐

  1. Java | 图形界面中paint,repaint,paintcomponent等函数的理解

    事件派发线程::事件派发线程是用于swing组件的.当你在main函数里创建一个窗口类的子类像JFrame,就自动创建了一个事件派发线程,如果你在 窗口里按下一个按钮或操作其它控件,就会产生事件,如果 ...

  2. 在java图形界面中,在Java中,有哪些图形界面开发工具包?()

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

  3. java画二维坐标_在图形界面中绘制二维的坐标系统

    在图形界面中绘制二维的坐标系统,其中x轴位于绘图区正中,y轴位于绘图区的最左边.实现以下基本功能: (1)设计界面接受用户输入的实验数据,同时绘制数据点,每个数据点用一个小圆号表示.最后,用直线或曲线 ...

  4. Java图形界面开发利器WindowBuilder

    自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View系列教程03–onL ...

  5. Java图形界面知识点总结

    Java图形界面知识点总结 1. java图形中常用的控件 常用窗体:JFrame.JDialog.窗体好比一块空白的画布,你可以任意添加按钮等组件到其中,也可以设置窗体的属性(大小.边界.排布等). ...

  6. java图形界面重写坐标_重写自由软件和计算机图形的历史

    java图形界面重写坐标 您还记得上世纪90年代初大多数屏幕保护程序都显示飞扬的3D金属徽标的日子吗? 你有一个吗? 在本文中,我想回顾一下过去,并简要回顾计算机图形学(CG)从研究实验室过渡到每个人 ...

  7. Java图形编程实验总结_实验二java图形界面编程2015级.doc

    实验二java图形界面编程2015级.doc 实验二JAVA图形界面编程一.实验目的熟悉JAVA运行环境,编程掌握JAVASWING组件的图形界面编程.二.实验环境微机,软件MYECLIPSE,JDK ...

  8. java界面布局举例,java图形界面实例

    java写一个图形程序,让数组输出在图形界面上 代码怎么写?别那么复杂的. 已把程序文件打包上传了,并附上运算结果图. import javax.swing.*;import java.awt.*;i ...

  9. Java图形界面编程模拟ATM自助取款系统

    本人学习Java时一直想做一个图形界面的程序,所以利用闲暇时间,做了一个Java图形界面编程模拟ATM自助取款系统,界面简洁漂亮,基本功能ATM功能实现. 程序初始时 考号:123456 密码:123 ...

最新文章

  1. R语言dplyr包使用arrange函数、group_by函数、mutate函数生成分组数据的排名(rank)实战(Rank Variable by Group):升序排名、降序排名以及相同排名的处理
  2. cmd文件打开闪退_批处理闪退、运行中断等问题的处理
  3. 原生 遍历_前端原生写js代码还是用vue等框架写项目?
  4. 超详细 Spring Boot 知识清单
  5. 性能测试总结(三)--工具选型篇
  6. 张小娴的文章,喜欢的,贴来存档
  7. 为您的Blogger博客设计一个美丽的新主题
  8. 网站添加微信支付功能(小白填坑)
  9. 无法连接到 visual studio 开发服务器
  10. 使用Dockerfile为SpringBoot应用构建Docker镜像
  11. java两种绑定方式_java两种单例模式用法分析
  12. vue-cli 打包出来的文件缺少_Vue cli构建 及 项目打包以及出现的问题 (update 2020-05)...
  13. 三星、英特尔同时向高通开火:借专利妨碍公平竞争
  14. 101/103/104规约应用典型问题例举
  15. 大数据告诉你,中国今年最火打卡圣地竟然是它!
  16. 非负大整数加法---网易校招附加题
  17. 采用面向对象的方法来实现留言板的添加和删除功能
  18. 刘营 计算机应用研究,计算机应用研究
  19. 手机和Linux蓝牙通信,Linux下手机与蓝牙的连接配置
  20. Unity Shader入门笔记

热门文章

  1. raise TypeError(f‘Object of type {o.__class__.__name__} ‘ TypeError: Object of type bytes is not
  2. johnson_trotter(生成排列算法)
  3. Linux命令之修改用户账户usermod
  4. 用easynetty进行服务端回签同步确认
  5. kubernetes中的PV、PVC
  6. java游戏演示ppt_java项目开发实战──五子棋游戏.ppt
  7. 无外接屏幕使用树莓派
  8. linux下制作linux系统的安装U盘
  9. The security economics of large-scale attacks against Internet-connected ICS devices
  10. CentOS7 NVIDIA显卡驱动安装教程(亲测有效)