功能(对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
}
}