Java---事件

1:事件的概念

Java中的事件怎么来说呢,其实就是图形用户界面中发生变化时创建的对象。如点击一个按钮会触发事件,是的它做出一些操作,创建相关的事件对象。

2:事件的演示

统一的测试类:


public class test {
  public static void main(String[] args) {
	  new game_jframe();
  }
}

(1)动作监听

动作监听需要使用到的是要使用到ActionListener这个类,这个类接受的参数是接口型的,所以implements后还需要重写方法。具体如下:

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.event.MenuEvent;
import javax.swing.event.MenuListener;

public class game_jframe extends JFrame implements ActionListener{

	public game_jframe() {
	    this.setSize(800,800);
	    this.setTitle("练习");
	    this.setAlwaysOnTop(true);//置顶
	    this.setLocationRelativeTo(null);
	    this.setLayout(null);//取消默认排列
	    
		JButton j1=new JButton("按钮1");
		j1.setBounds(30,30,100,100);
	    j1.addActionListener(this);//添加动作监听
		
	    this.getContentPane().add(j1);
		this.setVisible(true);//可视化
	}

	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		System.out.println("点击成功");
	}
}

点击的按钮也是可以获取的,具体如下操作,判断点击的按钮是按钮1还是按钮2

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.event.MenuEvent;
import javax.swing.event.MenuListener;

public class game_jframe extends JFrame implements ActionListener{
    JButton j1=new JButton("按钮1");
	JButton j2=new JButton("按钮2");
	
	 public game_jframe() {
	    this.setSize(800,800);
	    this.setTitle("练习");
	    this.setAlwaysOnTop(true);//置顶
	    this.setLocationRelativeTo(null);
	    this.setLayout(null);//取消默认排列
	    
		
		j1.setBounds(30,30,100,100);
	    j1.addActionListener(this);//添加动作监听
	    
		j2.setBounds(300,300,200,200);
		j2.addActionListener(this);
		
	    this.getContentPane().add(j1);
	    this.getContentPane().add(j2);
		this.setVisible(true);//可视化
	}

	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		Object s=e.getSource();//获取点击的按钮
		if(s==j1) {
			System.out.println("点击的是按钮1");
		}
		else if(s==j2) {
			System.out.println("点击的是按钮2");
		}
	}
}

(2)鼠标监听

鼠标监听总的来说分为五个部分

1:划入

2:单击

3:按住不放

4:松开

5:划出

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.event.MenuEvent;
import javax.swing.event.MenuListener;

public class game_jframe extends JFrame implements MouseListener{
    public game_jframe() {
    	this.setTitle("练习");
    	this.setSize(800,800);
    	//this.setAlwaysOnTop(true);
    	this.setLocationRelativeTo(null);
    	this.setLayout(null);
    	
    	JButton j1=new JButton("按钮");
    	j1.setBounds(100,100,150,50);
    	this.getContentPane().add(j1);
    	j1.addMouseListener(this);
    	
    	this.setVisible(true);
    }

	@Override
	public void mouseClicked(MouseEvent e) {
		// TODO Auto-generated method stub
		System.out.println("单击");
	}

	@Override
	public void mousePressed(MouseEvent e) {
		// TODO Auto-generated method stub
		System.out.println("按住不松");
	}

	@Override
	public void mouseReleased(MouseEvent e) {
		// TODO Auto-generated method stub
		System.out.println("松开");
	}

	@Override
	public void mouseEntered(MouseEvent e) {
		// TODO Auto-generated method stub
		System.out.println("划入");
	}

	@Override
	public void mouseExited(MouseEvent e) {
		// TODO Auto-generated method stub
		System.out.println("划出");
	}
}

(3)键盘监听

对于键盘输入的数据进行判断,键盘的按入都会都会有一个编号进行标志,比如a就是65.不过要注意这里的65并不是ASCII哦

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.event.MenuEvent;
import javax.swing.event.MenuListener;

public class game_jframe extends JFrame implements KeyListener{
   public game_jframe() {
	   this.setSize(800,800);
	   this.setTitle("练习");
	   this.setDefaultCloseOperation(3);
	   this.setLayout(null);
	   
	   this.addKeyListener(this);
	   
	   this.setVisible(true);
   }

@Override
public void keyTyped(KeyEvent e) {
	// TODO Auto-generated method stub
	
}

@Override
public void keyPressed(KeyEvent e) {
	// TODO Auto-generated method stub
	int code=e.getKeyCode();
	if(code==65) {
		System.out.println("按的是a");
	}
	else if(code==66) {
		System.out.println("按的是b");
	}
	else if(code==67) {
		System.out.println("按的是c");
	}
}

@Override
public void keyReleased(KeyEvent e) {
	// TODO Auto-generated method stub
	
}
}

  • 7
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: weixin-java-mp是一个基于Java开发的微信公众平台开发工具包。它提供了丰富的接口和功能,方便开发者与微信公众号进行交互和开发。 weixin-java-mp支持公众号的基本操作,例如消息的接收和发送、用户管理、素材管理等。开发者可以使用weixin-java-mp来构建自己的公众号,并通过自定义的逻辑来处理微信用户的操作和请求。 weixin-java-mp还提供了丰富的API接口,允许开发者根据自己的需求进行接口的调用和业务逻辑的实现。开发者可以通过调用weixin-java-mp提供的API接口,实现用户信息的获取、发送模板消息、创建自定义菜单等功能。 除了基本的功能和接口,weixin-java-mp还支持微信支付的功能。开发者可以通过weixin-java-mp来实现微信支付的相关逻辑,例如生成支付二维码、处理支付回调等。 总的来说,weixin-java-mp是一个强大的工具包,提供了丰富的功能和接口,方便开发者进行微信公众号的开发和管理。无论是开发新的公众号应用还是对已有公众号进行升级和优化,使用weixin-java-mp都能够提高开发效率,减少开发工作量。 ### 回答2: weixin-java-mp是一个基于Java的微信公众号开发框架。它提供了一系列的接口和工具,方便开发者与微信公众号进行交互和开发。 首先,weixin-java-mp可以帮助开发者实现与微信公众号的接入和消息事件的处理。它提供了接口来验证开发者的服务器配置信息,并能够接收、解析和处理微信公众号发送的消息和事件,比如文本消息、图片消息、菜单点击事件等。 其次,weixin-java-mp还封装了微信公众号的各种功能接口,开发者可以利用这些接口实现自定义的功能。例如,发送回复消息、获取用户信息、创建自定义菜单、上传下载媒体文件等等。开发者可以根据自己的需求选择合适的接口来实现对微信公众号的操作。 此外,weixin-java-mp还提供了一些常用的工具类,例如消息加解密工具、支付签名工具等,方便开发者进行相关功能的开发和调试。 总的来说,weixin-java-mp是一个功能丰富、易于使用的微信公众号开发框架,可以帮助开发者快速搭建和开发微信公众号的各种功能,使开发工作变得更加高效和便捷。 ### 回答3: weixin-java-mp是一个Java开发的微信公众号开发框架,它提供了一系列方便的功能和API,方便开发者进行微信公众号的开发和管理。 weixin-java-mp可以帮助开发者快速搭建微信公众号应用,提供了与微信服务器进行交互的工具类和方法。开发者可以使用weixin-java-mp来处理接收到的微信消息、回复消息、获取用户信息、创建自定义菜单等功能。同时,weixin-java-mp还支持微信支付、素材管理、用户管理、模板消息等高级功能的开发和调用。 weixin-java-mp使用了面向对象的设计模式,提供了丰富的API接口,让开发者能够方便地与微信服务器进行通信。它使用了一种简单且灵活的方式来定义和处理微信消息,可以根据不同的消息类型进行相应的处理,比如文本消息、图片消息、语音消息等。通过weixin-java-mp,开发者可以轻松地处理和响应用户发送的不同类型的消息。 此外,weixin-java-mp还支持多种微信支付方式的开发和调用,包括统一下单、订单查询、退款等功能,方便开发者进行商业化的微信公众号应用开发开发者可以使用weixin-java-mp来方便地调用这些支付接口,实现微信支付的功能。 总之,weixin-java-mp是一个功能强大且易于使用的微信公众号开发框架,它提供了丰富的API和工具类,方便开发者进行微信公众号应用的开发和管理。无论是开发者初学者还是有经验的开发者,都可以使用weixin-java-mp来快速搭建微信公众号应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜到极致就是渣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值