java 事件监听 - 鼠标

java 事件监听 - 鼠标

//事件监听
//鼠标事件监听
//鼠标事件监听有两个实现接口
//1、MouseListener 普通的鼠标操作
//2、MouseMotionListener 鼠标的拖拽、移动
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class Index extends JFrame{
    
    //设置面板
    Wdmb wdmb = new Wdmb();
    
    
    public static void main(String[] args) throws Exception{
        //实例化当前类
        Index index = new Index();
        
    }
    
    //自动执行
    public Index(){
        
        
        this.add(wdmb);

        
        //添加鼠标监听事件
        this.addMouseListener(wdmb);
        
        //添加鼠标拖拽事件
        this.addMouseMotionListener(wdmb);
        
        
        this.setSize(500,500);
        this.setLocation(300,200);
        this.setTitle("绘图");
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true);
    }
    
    
}

//面板方法
//MouseListener 鼠标监听
//MouseMotionListener 鼠标拖拽监听
class Wdmb extends JPanel implements MouseListener,MouseMotionListener{
    
//方法覆盖
    //JPanel自带方法,下面格式是固定的
    //paint 会在三种情况下自动被调用
    //1、启动程序  2、窗口大小发生变化时  3、运行repaint函数时
    public void paint(Graphics g){
        //覆盖父类的方法
        super.paint(g);

    }
    

    
    
    /**
     * 鼠标事件 
     */

    //鼠标单击
    public void mouseClicked(MouseEvent e){
        System.out.println("鼠标点击的位置是:");
        System.out.println("X坐标:"+e.getX());
        System.out.println("X坐标:"+e.getY());
    }
    
    //鼠标按下
    public void mousePressed(MouseEvent e){
        //System.out.println("鼠标被按下");
    }
    
    //鼠标松开
    public void mouseReleased(MouseEvent e){
        //System.out.println("鼠标被松开");
    }
    
    //鼠标移动到界面中
    public void mouseEntered(MouseEvent e){
        //System.out.println("鼠标移动到界面中");
    }
    
    //鼠标从界面离开
    public void mouseExited(MouseEvent e){
        //System.out.println("鼠标从界面离开");
    }
    
    /**
     * 鼠标拖拽事件
     * 
     */
    
    //鼠标拖拽
    public void mouseDragged(MouseEvent e){
        System.out.println("鼠标点击的位置是:");
        System.out.println("X坐标:"+e.getX());
        System.out.println("X坐标:"+e.getY());
    }
    
    //鼠标移动
    public void mouseMoved(MouseEvent e){
        System.out.println("鼠标点击的位置是:");
        System.out.println("X坐标:"+e.getX());
        System.out.println("X坐标:"+e.getY());
    }
    
    

    
}