返回顶部
首页 > 资讯 > 后端开发 > Python >Java实现AWT四大事件的详细过程
  • 778
分享到

Java实现AWT四大事件的详细过程

2024-04-02 19:04:59 778人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录窗体事件鼠标事件所触发的事件键盘事件动作事件小结常用事件的分类 Java AWT里面的事件可以简单的分为窗体事件(WindowEvent),鼠标事件(MouseEvent),键盘

常用事件的分类

Java AWT里面的事件可以简单的分为窗体事件(WindowEvent),鼠标事件(MouseEvent),键盘事件(KeyEvent),动作事件(ActionEvent)等事件。

窗体事件

窗体事件是GUI应用程序的基础,应用程序中通常是将其他的组件直接或间接的置于窗体中。在窗体中进行打开,关闭,激活,停用时,jdk提供了一个类WindowEvent用于表示这些窗体事件,定义了一个WindowListener接口的类作为窗体监听器,然后通过addWindowlistener()方法将窗体对象与窗体监听器绑定。

 package AWT;
  import java.awt.*;
  import java.awt.event.WindowEvent;
  import java.awt.event.WindowListener;
  public class ShiPeiQi {
      public static void main(String[] args) {
          final Frame f=new Frame("WindowEvent");
          f.setSize(400,300);
          f.setLocation(300,200);
          f.setVisible(true);
          f.addWindowListener(new WindowListener() {
              @Override
              public void windowOpened(WindowEvent e) {
                  System.out.println("windowOpened----窗体打开事件");
              }
              @Override
              public void windowClosing(WindowEvent e) {
                  System.out.println("windowClosing----窗体正在关闭事件");
                  ((Window)e.getComponent()).dispose();
              }
              @Override
              public void windowClosed(WindowEvent e) {
                  System.out.println("windowClosed----窗体关闭事件");
              }
              @Override
              public void windowIconified(WindowEvent e) {
                  System.out.println("windowIconified---窗体图标化事件");
              }
              @Override
              public void windowDeiconified(WindowEvent e) {
                  System.out.println("windowDeiconified------窗体取消图标化事件");
              }
              @Override
              public void windowActivated(WindowEvent e) {
                  System.out.println("windowActivated----窗体激活事件");
              }
              @Override
              public void windowDeactivated(WindowEvent e) {
                  System.out.println("windowDeactivated----窗体停用事件");
              }
          });
              }
          }

当运行程序后,依次点击窗体的最小化按钮,任务栏上的图标,单击窗体上的关闭按钮,会依次触发下面截图中的事件。

鼠标事件

我们通常会对电脑进行选择,切换界面等操作,这些操作就叫鼠标事件,包括鼠标按下,鼠标松开,鼠标点击等,因此提供了一个MouseEvent类用于表示鼠标事件,基本上所有的组件都可以产生鼠标事件,处理鼠标事件时,要通过实现MouseLinstener接口定义监听器或者通过继承适配器MouseAdapter类来实现,然后再调用AddMouseListener()方法将监听器绑定到事件源对象。

 package AWT;
 import java.awt.*;
 import java.awt.event.MouseEvent;
 import java.awt.event.MouseListener;
 public class Example12 {
     public static void main(String[] args) {
         final Frame f=new Frame("MouseEvent");
         f.setLayout(new FlowLayout());
         f.setSize(300,200);
         f.setLocation(300,200);
         f.setVisible(true);
         Button but=new Button("Button");
         f.add(but);
         //为按钮鼠标设置一个监听器
         but.addMouseListener(new MouseListener() {
             @Override
             public void mouseClicked(MouseEvent e) {
                 System.out.println("mouseClicked----鼠标完成单击事件");
             }
             @Override
             public void mousePressed(MouseEvent e) {
                 System.out.println("mousePressed-----鼠标按下事件");
             }
             @Override
             public void mouseReleased(MouseEvent e) {
                 System.out.println("mouseReleased----鼠标放开事件");
             }
             @Override
             public void mouseEntered(MouseEvent e) {
                 System.out.println("mouseEntered-----鼠标进入按钮区域事件");
             }
             @Override
             public void mouseExited(MouseEvent e) {
                 System.out.println("mouseExited-----鼠标移除按钮区域事件");
             }
         });
     }
 }

当鼠标去点击按钮时之后然后将鼠标移出按钮区域,会触发以下的监听事件

所触发的事件

  

当鼠标对按钮进行相应的动作之后,监听器会获取相应的事件对象,从而触发相应的事件并打印出来。

public void mouseClicked(MouseEvent e) {
      if(e.getButton()==e.BUTTON1){
           System.out.println("鼠标完成左吉事件");
      }if(e.getButton()==e.BUTTON2){
          System.out.println("鼠标完成中间单击事件");
      }if(e.getButton()==e.BUTTON3){
           System.out.println("鼠标完成右击事件");
      }        
    }

MouseEvent类对鼠标的按键定义了不同的常量,通过MouseEvent类的getButton()方法获取被操作按键的常量键值,来判断时哪个键的操作,单击的次数可以通过MouseEvent对象的getClickCount()方法来获取。

键盘事件

在我们进行操作的过程中,键盘也经常与用户进行交互,比如键盘的按下,释放等,这些操作被定义为键盘事件,JDK中定义了一个KeyEvent的类表示键盘事件,处理KeyEvent时间的监听器对象需要实现KeyListener接口或者继承KeyAdapter类。

 package AWT;
 import java.awt.*;
 import java.awt.event.KeyAdapter;
 import java.awt.event.KeyEvent;
 public class Example13 {
     public static void main(String[] args) {
         Frame f=new Frame("KeyEvent");
         f.setLayout(new FlowLayout());
         f.setSize(400,300);
         f.setLocation(300,200);
         //创建文本框对象
         TextField tf=new TextField(30);
         f.add(tf);
         f.setVisible(true);
         tf.addKeyListener(new KeyAdapter() {
             @Override
             public void keyPressed(KeyEvent e) {
                 //返回所按键对应的整数值
                 int KeyCode=e.geTKEyCode();
                 //返回按键的字符串描述
                 String s=KeyEvent.getKeyText(KeyCode);
                 System.out.print("输入的内容为:"+s+" ,");
                 System.out.println("对应的KeyCode为:"+KeyCode);
             }
         });
     }
 }

运行结果

TextField只允许编辑单行文本,通过

输入字符去触发键盘事件,KeyEvent类通过调用getKeyCode()方法将输入的内容对应的整数值返回,KeyEvent类中有一个静态方法getKeyText(int keyCode),可以将按键内容以String形式返回,下图是上面截图中输入内容所对应的KeyCode值。

动作事件

动作事件表示一个动作发生了,比如,在关闭文件时,可以通过键盘关闭,也可以通过鼠标关闭,即在对按钮进行关闭便触发了动作事件。动作事件用ActionEvent类表示,处理ActionEvent事件的监听器对象需要实现ActionListener接口,监听器对象在监听动作时,所处理的事件类似于"按钮按下"这样的事件。

小结

以上就是我对于AWT四大基本事件处理的简单概述,可以使我们充分的理解我们在使用键盘鼠标的时候是怎样触发监听器的,监听器是调用什么方法去处理这些事件的。

到此这篇关于Java实现AWT四大事件的详细过程的文章就介绍到这了,更多相关Java AWT事件内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java实现AWT四大事件的详细过程

本文链接: https://lsjlt.com/news/147732.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Java实现AWT四大事件的详细过程
    目录窗体事件鼠标事件所触发的事件键盘事件动作事件小结常用事件的分类 Java AWT里面的事件可以简单的分为窗体事件(WindowEvent),鼠标事件(MouseEvent),键盘...
    99+
    2024-04-02
  • Java怎么实现AWT四大事件
    本篇内容主要讲解“Java怎么实现AWT四大事件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java怎么实现AWT四大事件”吧!常用事件的分类Java AWT里面的事件可以简单的分为窗体事件(...
    99+
    2023-06-30
  • Java AWT实现事件处理流程是什么
    今天小编给大家分享一下Java AWT实现事件处理流程是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。AWT的事件处理事...
    99+
    2023-06-30
  • Java深入讲解AWT实现事件处理流程
    目录AWT的事件处理AWT中的事件继承图事件适配器小结AWT的事件处理 事件处理主要是为了响应用户的操作 事件对象(Event):封装了GUI组件上发生的特定事件(通常就是用户的一次...
    99+
    2024-04-02
  • Cordova插件实现JavaScript与Java的通信的详细过程
    背景 Cordova平台是开源的跨平台开发框架,被广泛应用于移动应用开发领域,可以开发跨安卓、iOS等系统的应用。Cordova平台是基于HTML/JavaScript语言,它是如何...
    99+
    2024-04-02
  • AspNetCore&MassTransit Courier实现分布式事务的详细过程
    目录分布式事务Saga模式执行过程恢复策略协作方式编排式(Orchestrator)协同式(Choreography)MassTransit Courier补偿服务服务建立服务配置服...
    99+
    2022-11-13
    AspNetCore分布式事务 AspNet Core MassTransit Courier分布式事务
  • Java模拟qq软件的详细过程
    目录登陆界面的实现登陆界面代码Login类login的监听类 LoginListener聊天界面运行图Client类代码Server代码登陆界面代码**之前在封装代码后出现了问题,按...
    99+
    2024-04-02
  • Java实现License许可证控制(详细过程)
    实现license控制需要准备: 1.密钥对 2.生成许可证 3.将配置代码配置到给客户部署的项目中 第一步:我们可以通过Jdk(建议jdk1.8)自带的keytool工具生成,在命令行(win+r输入cmd)输入以下命令: #生成命令ke...
    99+
    2023-09-11
    java 后端
  • java根据模板导出PDF的详细实现过程
    目录题记:一、需求二、解决方案三、实现功能四、主要代码结构说明:五、关键代码说明1、模板配置2、获取模板内容并填充数据3、导出模板到PDF文件4、测试工具类六、生成效果图七、遇到的坑...
    99+
    2024-04-02
  • SpringBoot整合Javamail实现邮件发送的详细过程
    目录序言简单邮件多组件邮件(带附件,图片,超链接的邮件)发送带超链接的邮件发送带图片的邮件总结序言 ​ 发邮件对于咱们的Java来说是一个基本的功能,因此这里SpringBoot整合...
    99+
    2022-11-13
    springboot整合javamail springboot 邮件发送
  • Java实现红黑树(平衡二叉树)的详细过程
    目录前言红黑二叉查找树2-3树2-3树的插入操作实现红黑二叉树结尾前言 在实现红黑树之前,我们先来了解一下符号表。 符号表的描述借鉴了Algorithms第四版,详情在:https...
    99+
    2024-04-02
  • Android Mouse实现过程详细笔记
    简单的做点笔记 ,省得以后忘记了~~ 1、emulator模拟器实际上是一个基于qemu的arm环境模拟器,其源码在external/qemu里面,编译出来的目录在/host/...
    99+
    2022-06-06
    mouse Android
  • JavaScript实现栈结构详细过程
    目录一、认识栈结构二、栈结构封装三、十进制转化为二进制一、认识栈结构 我们知道数组是一种常见的数据结构,并且可以在数组的任意位置插入和删除数据,但是有时候,我们为了实现某些功能,必须...
    99+
    2024-04-02
  • Django3基于WebSocket实现WebShell的详细过程
    前言 最近工作中需要开发前端操作远程虚拟机的功能,简称WebShell. 基于当前的技术栈为react+django,调研了一会发现大部分的后端实现都是django+channels...
    99+
    2024-04-02
  • python 实现syslog 服务器的详细过程
    交换机等网络设备基本上都支持将本地日志通过syslog 协议传输到后端服务器上集中查看和存储,毕竟这类设备的存储容量也有限。操作系统也是支持syslog协议的。从网上看日志集中管理很...
    99+
    2024-04-02
  • Python实现随机漫步的详细过程
    目录1.  创建 RandomWalk 类2.  选择方向 3.  绘制随机漫步图 4.  总结 本篇...
    99+
    2023-03-07
    python随机漫步图 python随机漫步的原理 Python 随机
  • 使用Pytorch+PyG实现MLP的详细过程
    目录我的项目环境:一、导入相关库二、加载Cora数据集三、定义MLP网络四、定义模型五、模型训练六、模型验证七、结果总结我的项目环境: 平台:Windows10语言环境:python...
    99+
    2023-03-03
    pytorch mlp分类模型 pytorch pyg
  • Java下载文件的四种方式详细代码
    1.以流的方式下载 public HttpServletResponse download(String path, HttpServletResponse response) ...
    99+
    2024-04-02
  • redis监听key过期事件的详细步骤
    目录1、配置Redis.conf文件2、 配置一个key过期事件的监听器3、订阅key过期事件4、发起订阅1、配置redis.conf文件 配置文件默认是#注释了的,改为notify-keyspace-even...
    99+
    2022-08-10
    redis监听key过期事件 redis监听key
  • PyTorch实现线性回归详细过程
    目录一、实现步骤1、准备数据2、设计模型3、构造损失函数和优化器4、训练过程5、结果展示二、参考文献一、实现步骤 1、准备数据 x_data = torch.tensor([[1.0...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作