• 第十三周课程总结


    java事件监听器分为三部分:事件,事件源,监听器。
    当事件源发生某个动作的时候,它会调用事件监听器的方法,并在调用事件监听器方法的时候把事件对象传递进去。

    事件类

    接口:

    package event.events;
    
    import java.util.EventObject;
    
    public interface EventInfo{
        public String getDoType() ;
    }
    

    监听器

    接口

    package event.eventListener;
    
    import event.events.EventInfo;
    
    import java.util.EventListener;
    
    public interface EventListenerInfo extends EventListener {
    
        public default void handler(EventInfo eventInfo){
            System.out.println(eventInfo.toString());
        }
    
    }
    

    鼠标

    所有组件都能发出鼠标事件,MouseEvent类负责捕获鼠标事件,可以通过为组件添加实现了MouseListener接口的监听器类来处理相应的鼠标事件。
    在每个事件触发后都会产生MouseEvent事件,此事件可以得到鼠标的相关操作

    MouseListener接口共有5个抽象方法,分别在光标移入或移出组件时、鼠标按键被按下或释放时和发生单击事件时被触发。所谓单击事件,就是按键被按下并释放。
    此接口定义了:

    
    import java.util.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
     
    import javax.swing.*;
     
    public class t3 extends JFrame{
    	
    	private static final long serialVersionUID = 1L; 
    	
    	public t3() {
    		setTitle("Hern");
    		setBounds(400, 400, 400, 400);
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		
    		final JLabel label = new JLabel();
    		label.setText("请用鼠标点击");
    		label.addMouseListener(new MouseListener() {
    			
    			@Override
    			public void mouseReleased(MouseEvent e) {//鼠标按键被释放时被触发
    				// TODO Auto-generated method stub
    				System.out.println("鼠标按键被释放,");
    				int i = e.getButton(); //通过该值可以判断释放的是哪个键
    				if (i == MouseEvent.BUTTON1) {
    					System.out.print("释放了鼠标左键");
    				}else if(i == MouseEvent.BUTTON2) {
    					System.out.println("释放了鼠标滚轮");
    				}else if(i == MouseEvent.BUTTON3){
    					System.out.println("释放了鼠标右键");
    				}
    					
    			}
    			
    			@Override
    			public void mousePressed(MouseEvent e) {//鼠标按键被按下时被触发
    				// TODO Auto-generated method stub
    				System.out.print("鼠标按键被按下,");
    				int i = e.getButton(); // 通过该值可以判断按下的是哪个键
    				if(i == MouseEvent.BUTTON1) {
    					System.out.print("按下了鼠标左键");
    				}else if(i == MouseEvent.BUTTON2) {
    					System.out.print("按下了鼠标滚轮");
    				}else if(i == MouseEvent.BUTTON3) {
    					System.out.print("按下了鼠标右键");
    				}
    			}
    			
    			@Override
    			public void mouseExited(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 mouseClicked(MouseEvent e) {//发生单击事件时被触发
    				// TODO Auto-generated method stub
    				System.out.print("单击了鼠标按键,");
    				int i = e.getButton(); // 通过该值可以判断单击的是哪个键
    				if (i == MouseEvent.BUTTON1) {
    					System.out.print("单击的是鼠标左键,");
    				}else if (i == MouseEvent.BUTTON2) {
    					System.out.print("单击的是鼠标滚轮,");
    				}else if (i == MouseEvent.BUTTON3) {
    					System.out.print("单击的是鼠标右键,");
    				}
    				int clickCount = e.getClickCount();//获取单击按键的次数
    				System.out.println("单击次数为" + clickCount + "下");
    			}
    		});
    		
    		
    		add(label);
    		setVisible(true);
    	}
     
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		t3 test = new t3();
     
    	}
     
    }
    
    
    

    键盘

    KcyListcner接口对键盘的操作进行监听

    如果想要取得键盘键入的内容,可以通过keyEvent取得

  • 相关阅读:
    设计模式之享元模式
    延时任务的实现
    Git代码分支开发工作流程
    设计模式之责任链模式
    Docker 三剑客 到 k8s 介绍
    写操作系统之实现进程
    写操作系统之开发加载器
    写操作系统之开发引导扇区
    写操作系统之搭建开发环境
    怎么实现系统调用wait和exit
  • 原文地址:https://www.cnblogs.com/zsbhs/p/11922479.html
Copyright © 2020-2023  润新知