java实用教程——组件及事件处理——ActionEvent事件

如何用java语言编写小游戏?(三) 事件模型 实现窗体,还有各种控件之后,如果想要发生些交互行为,事件控制是必不可少的。 一个事件源产生一个事件并把它(事件对象)送到一个或多个监听器,监听器只是简单地等待,直到它收到一事件。事件一旦被监听器接受,监听器将处理这些事件。 一个事件源必须注册监听器,以便监听器可以接收一个特定事件的通知。 事件控制的过程可以分为以下四步: 监听器对象属于一个类的实例,这个类实现了一个特殊的接口,名为“监听者接口”(Listener interface) 事件源是一个对象,它可以注册到一个或多个监听器对象中,以便向 阅读详情
AI摘要

本文详细介绍了Java中的ActionEvent事件源及其使用方法,展示了如何通过监听器处理ActionEvent,并通过实际代码示例演示了如何在JFrame和组件间传递和处理ActionEvent,包括TextField、JButton等。

事件源:
文本框,按钮,菜单项,密码框,单选按钮
注册监视器:
能够触发ActionEvent事件的组件使用方法
addActionListener(ActionListener listener)
处理事件接口:
ActionListener接口中只有一个方法
public void actionPerformed(ActionEvent e)
事件触发ActionEvent事件后,监视器调用接口中的方法actionPerformed(ActionEvent e)对发生的事件做出处理

ActionEvent类中的方法:
ActionEvent类有如下常用方法
public Object getSource() 可以获取发生ActionEvent事件的事件源对象的引用

public String getActionCommand() 和该事件相关的一个“命令”字符串,对于文本框,当发生ActionEvent事件是,默认的“命令”字符串是文本框中的文本

主类

public class Example9_6 {
	   public static void main(String args[]) {
	      WindowActionEvent win=new WindowActionEvent();
	      win.setBounds(100,100,310,260);
	      win.setTitle("处理ActionEvent事件");
	   }
	}

实现监视器的类

import java.awt.*;
import java.awt.event.*;
public class ReaderListen implements ActionListener{
	public void actionPerformed(ActionEvent e)
	{
		String str = e.getActionCommand();
		System.out.println(str+":"+str.length());
	}

}

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class WindowActionEvent extends JFrame  {
  TextField text;
  ActionListener listener;
    public WindowActionEvent() {
        setLayout(new FlowLayout());
        init();
        setVisible(true);
        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    }
    void init() {
       text = new TextField(10);
       listener = new ReaderListen();
       text.addActionListener(listener);
       this.add(text);
    }
}

在这里插入图片描述
在这里插入图片描述

public class Example9_7 {
	   public static void main(String args[]) {
	      WindowActionEvent win=new WindowActionEvent();
	      PoliceListen police = new PoliceListen();//创建监视器
	      win.setMyCommandListener(police);//窗口组合监视器
	      win.setBounds(100,100,310,260);
	      win.setTitle("处理ActionEvent事件");
	   }
	}
import javax.swing.*;
import java.awt.event.*;//实现这些事件处理必须要有这个包event

public interface MyCommandListener extends ActionListener{

	public void setTextField(JTextField text);
	public void setJTextArea(JTextArea area);
}

import javax.swing.*;


import java.awt.event.*;
public class PoliceListen implements MyCommandListener{
	
	JTextField textinput;
	JTextArea textshow;
	public void setTextField(JTextField text)
	{
		textinput=text;
	}
	public void setJTextArea(JTextArea area)
	{
		textshow=area;
	}
	public void actionPerformed(ActionEvent e)
	{
		String str = textinput.getText();
		textshow.append(str+":"+str.length()+"\n");
	}

}

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class WindowActionEvent extends JFrame  {
  JTextField text;//文本区
  JTextArea textshow;//用于输出的文本框
  JButton  button;
  MyCommandListener listener;//监视器
    public WindowActionEvent() {
        
        init();
        setVisible(true);
        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    }
    void init() {
    	setLayout(new FlowLayout());//设置布局
       text = new JTextField(10);
       textshow = new JTextArea(9,30);
       button = new JButton("确定");       
    
       this.add(text);
       this.add(new JScrollPane(textshow));//设置为滚动窗格
      this.add(button);
    }
       
       void setMyCommandListener(MyCommandListener listener)
       {
    	   this.listener=listener;
    	   listener.setTextField(text);
    	   listener.setJTextArea(textshow);
    	   text.addActionListener(listener);
    	   //text是事件源,listener是监视器
    	   button.addActionListener(listener);
    	   //button是事件源,listener是监视器
       
    }
}

在这里插入图片描述

JAVA-actionevent事件响应的处理方式 1.处理东、南、西、北四个按钮,以及文本框的actionevent事件。当事件发生,,监视器计算字符的长度,并在命令行窗体显示按钮的文本内容或文本框的文本内容。 代码: package 实验4; public class test { public static void main(String args[]){ WindowActionEvent win= new WindowActionE... 阅读详情

相关推荐

Java编程教程-Java事件处理

改变对象状态被称为事件。例如,点击按钮、拖动鼠标等。java.awt.event 包提供了许多事件类和监听器接口来进行事件处理。

白话机器学习 1167

在java里actionPerformed是做什么用的

public void actionPerformed(ActionEvent e) 这是接口ActionListener里面定义的一个抽象方法,所有实现这个接口的类都要重写这个方法。一般情况下,这是在编写GUI程序时,组件发生“有意义”的事件时会调用这个方法,比如按钮被按下,文本框内输入回车时都会触发这个事件,然后调用你编写的事件处理程序。实现过程大体如下:编写一个ActionListener类...

weixin_33832340的博客 2万+

public void actionPerformed(ActionEvent e)

public void actionPerformed(ActionEvent e){ if(e.getSource()==登录){ String name=用户名.getText().toString(); String u=null,pwd=null,auth=null; String url="jdbc:odbc:mysql"; Connection conn;

ActionListener的三种实现方法

Swing是目前Java中不可缺少的窗口工具组,是用户建立图形化用户界面(GUI)程序的 强大工具。Java Swing组件自动产生各种事件来响应用户行为。如当用户点击按钮或选择菜单项目时,Swing组件会产生一个 ActionEvent。Swing组件会产生许多事件,如ActionEvents,ChangeEvents,ItemEvents等,来响应用户的鼠标点击行为,列表框中值的改变,计时器的

aksdn的狩猎场 7761

从零到一:用ROS2和Gazebo搭建Franka机械臂仿真环境(避坑指南)

本文详细介绍了如何使用ROS2和Gazebo从零开始搭建Franka机械臂的仿真环境,包括环境准备、ROS2包安装、控制器配置及常见问题解决方案。特别针对关节位置控制等核心功能提供了实用代码示例和避坑指南,帮助开发者高效构建机器人算法验证平台。

weixin_29061465的博客 459

基于微信小程序的垃圾分类系统,附源码

垃圾分类小程序管理员功能有个人中心,管理员管理,意见反馈管理,视频类型管理,垃圾类型管理,新闻类型管理,论坛信息管理,环保视频管理,环保知识管理,垃圾信息管理,环保新闻管理,用户管理,知识问答试卷管理,试题管理,测试管理,轮播图管理。用户可以在微信小程序上面注册登录,查看各种环保信息和垃圾信息,还可以参加知识问答等操作。垃圾分类小程序的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。

Java徐师兄的博客 2074

《Java 2 实用教程》课程学习(9)——第9章 组件及事件处理

本章内容 Java把由Component类的子类或间接子类创建的对象称为一个组件; Java把由Container类的子类或间接子类创建的对象称为一个容器; 可以向容器添加一个组件。 Component类提供了一个public方法:add(),一个容器可以调用这个方法将组件添加到该容器中。 容器调用removeAll()方法可以移去容器中的全部组件,调用...

qq_34573534的博客 3908

TCGA数据下载保姆级教程:用GDC-client从零搞定,附配置文件避坑指南

本文提供TCGA数据下载的完整教程,详细讲解如何使用GDC-client工具从零开始配置到高效获取基因组数据。涵盖环境准备、认证配置、数据检索、高效下载及故障处理等关键步骤,并附配置文件避坑指南,帮助生物医学研究者快速掌握TCGA数据下载技巧。

weixin_30892037的博客 260

Java学习笔记-组件及处理事件(二)(ActionEvent,DocumentEvent,ItemEvent)

四:处理事件 1:事件处理模式 1:事件源 能够产生事件的对象都可以称为事件源,例如文本框,按钮等。这个对象必须是Java能够认为可以产生事件的对象。 2:监视器 需要对一个事件源进行监视,以便对发生的事件做出处理,事件源调用对应的方法注册自己的监视器。 3:处理事件的接口 Java规定为了让监视器这个对象对事件源发生的事件进行处理,创建该监视器对象的类必须实现响应的接口。即必须在类体中实现相应的方法。也就是监视器必须和一个初始事件的方法绑定。 2:ActionEvent事件 1:ActionEvent事件

时间识人的博客 5429

手把手教你用MaxEnt+ArcGIS玩转物种分布预测

本文详细介绍了如何利用MaxEnt最大熵模型与ArcGIS软件进行物种分布预测。通过实战案例,从数据收集、环境变量处理、模型参数设置到结果可视化分析,手把手教你掌握生态位模型的核心流程。结合SDM toolbox插件,可高效完成数据预处理与高级空间分析,是生态学与保护生物学研究的实用指南。

weixin_29309475的博客 559

手把手教程 | 使用 apktool 修改已发布 APK 的版本号与版本名称

摘要:本文介绍如何使用apktool工具直接修改APK版本信息,适用于版本回滚、多版本测试等场景。详细步骤包括反编译APK、修改版本号、重打包、对齐优化和重新签名,并分享了反编译相关实用知识。该方法无需源代码参与,但需注意修改后的APK必须重新签名才能安装。最后强调应在合法范围内使用反编译技术。

学无止境 826

类 java.awt.event.ActionEvent 等的使用

使用 ActionEvent 的软件包 java.awt 包含用于创建用户界面和绘制图形图像的所有类。  java.awt.dnd Drag 和 Drop 是一种直接操作操作,在许多图形用户界面系统中都会遇到它,它提供了一种机制,能够在两个与 GUI 中显示元素逻辑相关的实体之间传输信息。  java.awt.event 提供处理由 AWT 组件所激发的各类

wq1967724的博客 1万+

无线通信基础:调制与解调技术_(42).7.3.2多进制频移键控解调(MFSK解调)

MFSK解调是一种通过频谱分析和频率检测来恢复数字信号的技术。本文介绍了MFSK解调的基本原理,包括信号接收、频谱分析、频率检测和符号判决。在实际应用中,噪声会对解调性能产生影响,因此引入了信噪比优化和多步判决方法来提高解调的准确性。通过性能评估,可以更好地理解MFSK解调在不同噪声环境下的表现。这些方法和技术为MFSK在实际通信系统中的应用提供了理论和实践基础。

2401_87715305的博客 1316

ActionEvent事件

package javawork; import java.awt.event.ActionEvent; import javax.swing.JTextArea; import javax.swing.JTextField; //创建监听器的类 public class PoliceListen implements MyCommandListener { private JTextF...

summersunrain的博客 1万+

基于BenchmarkSQL的达梦数据库TPCC性能测试

中的用户和密码在达梦数据库中创建测试用户,并保证其表空间足够容纳生成的测试数据。如果开启了归档,还要考虑归档日志占用的空间。BenchmarkSQL默认不支持达梦数据库。这里我们让BenchmarkSQL把达梦数据库当作Oracle即可。Oracle数据库对应的测试配置文件为。是使用BenchmarkSQL进行性能测试的主要配置文件。是生成的测试报告,png文件是报告中包含的图片。拷贝达梦数据库驱动到BenchmarkSQL的。测试结束后,会在当前路径下生成一个以。规则命名的结果目录。

Sebastien23的博客 2634

芒果YOLOv8改进16:检测头Head篇:即插即用|新颖轻量化非对称多级压缩LADH检测头,原创改进适配YOLOv8高效检测头,检测头新颖性改进,全网首发独一份

YOLOv8代码改进教程:即插即用|新颖轻量化非对称多级压缩LADH检测头🎈

包括YOLOv5、YOLOv7、YOLOv8等模型改进 5611

Java图形用户界面的事件处理

本文介绍了Java图形用户界面系统中的事件处理机制。事件是用户在界面上的一个操作。Java Swing采用AWT事件处理模型,在事件处理过程中涉及的主要概念有事件、事件源、事件处理方法、事件监听器类和事件监听器接口等。

hitmengfanchao的博客 3876

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

java的actionevent_java中actionevent

第8章 Java的GUI设计 事件与事件源用户在操作应用程序界面中的组件时,就会产生 事件(Event),例如单击一个按钮,就会产生一个动作事件(ActionEvent);对窗口进行缩放......第8章 Java的GUI设计 事件与事件源用户在操作应用程序界面中的组件时,就会产生 事件(Event),例如单击一个按钮,就会产生一个动作事件(ActionEvent);对窗口进行缩放......监听...

weixin_34792641的博客 2968

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

文本组件与 ActionEvent事件(1)

创建一个内容为text的密码框对象,但显示的内容并不是text本身,而是统一的回显字符(默认为星号“*”)创建一个无初始内容的、能接收最多columns个字符的密码框对象JPasswordField密码框的常用方法 密码框类的对象可以使用• setEchoChar(char c) —— 设置回显字符• char[ ] getPassword() —— 方法返回密码框中的密码JTextArea文本区的构造方法 JTextArea类专门用来建立文本区,用户可以在文本区中输入多行文本。

2401_84103903的博客 803

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

第五十节 java学习——动作事件(ActionEvent)

动作事件(ActionEvent)   ActionEvent包含一个事件,该事件为执行动作事件ACTION_PERFORMED.触发这个事件的动作为: 1》点击按钮。 2》双击列表中选项。 3》选择菜单项。 4》在文本框中输入回车。 常用方法如下: public String getActionCommand() 返回引发某个事件的命令按钮的名字,如果名字为空,那么返回标签值。

语帆的专栏 3万+

文本组件与 ActionEvent事件

本节提纲JTextField文本框JPasswordField密码框JTextArea文本区ActionEvent事件 JTextField文本框 JPasswordField密码框 JTextArea文本区 ActionEvent事件

静Yu的博客 840

java actionevent事件_[Java] ActionEvent 事件处理

import java.awt.*;import java.awt.event.*;public class ActionEventTest{public static void main(String[] args){//创建frame and ButtonFrame f = new Frame("ActionEventTest");Button bStart = new Button("Sta...

weixin_33898154的博客 914

[疯狂Java笔记]事件处理:Java事件处理模型

1. Java事件处理三要素:     1) 事件源(Event Source):即事件发生的场所,就是指各个组件,如按钮等,点击按钮其实就是组件上发生的一个事件;     2) 事件(Event):事件封装了组件上发生的事情,比如按钮单击、按钮松开等等;     3) 事件监听器(Event Listener):负责监听事件源上发生的特定类型的事件,当事件到来时还必须负责处理相应的事件;

Lirx_Tech的专栏 9079

[Java] ActionEvent 事件处理

import java.awt.*; import java.awt.event.*; public class ActionEventTest{     public static void main(String[] args){         //创建frame and Button         Frame f = new Frame("ActionEventTest");         Button bStart = new Button("Start");

ShanHaiyang 2847
上一篇: java实用教程——组件及事件处理——处理事件
下一篇: java实用教程——组件及事件处理——ItemEvent事件(设置字体类型)
943802606
博客等级 码龄6年 1万+粉丝 177原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值