第十三周课程总结

Posted zsbhs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第十三周课程总结相关的知识,希望对你有一定的参考价值。

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取得
技术图片

以上是关于第十三周课程总结的主要内容,如果未能解决你的问题,请参考以下文章

第十三周课程总结

第十三周课程总结

第十三周课程总结

第十三周课程总结

第十三周课程总结

第十三周课程总结