功能(对java事件处理机制加深理解)

/**
 * 2018.8.28
 * 作者:小孟鱼
 * 功能:不同的事件监听器接口可以监听不同的事件,一个类
 * 可以实现一个事件的监听接口,也可以实现多个监听接口
 */
package com.test1;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Test3 extends JFrame {
    
        Mypanel mp=null;
    
    
            public static void main(String[] args) {
                Test3 test3=new Test3();    
            }
            //
            public Test3()
            {
                mp=new Mypanel();
                
                this.add(mp);
                //注册监听
                this.addMouseListener(mp);
                this.addKeyListener(mp);    
    
                this.setTitle("事件处理加深");
                this.setSize(400, 300);
                this.setLocationRelativeTo(null);
                this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                this.setVisible(true);
                
            }
                
}
//让Mypanel知道鼠标按下的消息,并且知道点击的位置(X轴Y)
//让Mypanel知道那个键按下

class Mypanel extends JPanel implements MouseListener ,KeyListener
{
    public void paint(Graphics g) 
    {
        super.paint(g);
    }

    //1.鼠标点击
    public void mouseClicked(MouseEvent arg0) {
        // TODO Auto-generated method stub
        System.out.println("鼠标点击了 x="+arg0.getX()+" "+"y="+arg0.getY());
    }

    //2.鼠标移动到MyPanel
    public void mouseEntered(MouseEvent arg0) {
        // TODO Auto-generated method stub
        System.out.println("鼠标移动到MyPanel");
    }

    //鼠标离开MyPanel
    public void mouseExited(MouseEvent arg0) {
        // TODO Auto-generated method stub
        System.out.println("鼠标离开MyPanel");
    }

    //鼠标按下
    public void mousePressed(MouseEvent arg0) {
        // TODO Auto-generated method stub
        System.out.println("鼠标按下");
    }

    //鼠标松开
    public void mouseReleased(MouseEvent arg0) {
        // TODO Auto-generated method stub
        System.out.println("鼠标松开");
    }

    //键被按下
    public void keyPressed(KeyEvent arg0) {
        // TODO Auto-generated method stub
        System.out.println(arg0.getKeyChar()+"键被按下");
    }

    //键被松开
    public void keyReleased(KeyEvent arg0) {
        // TODO Auto-generated method stub
        System.out.println("键被松开");
    }

    //按的哪个键
    public void keyTyped(KeyEvent arg0) {
        // TODO Auto-generated method stub
        
    }
}


        
    

猜你喜欢

转载自blog.csdn.net/weixin_42133768/article/details/82177178