package com.t4;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Demo4 extends JFrame {
MyPanel mp=null;
public static void main(String[] args) {
Demo4 demo=new Demo4();
}
//构造函数
public Demo4()
{
mp=new MyPanel();
this.add(mp);
//注册监听
this.addMouseListener(mp);
this.addKeyListener(mp);
this.addMouseMotionListener(mp);
this.addWindowListener(mp);
this.setSize(400,500);
this.setTitle("事件监听器");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}
//1、让MyPanel知道鼠标按下的消息,并且知道点击的位置(x,y)
//2、让MyPanel知道是哪个键按下了
//3、让MyPanel知道鼠标移动,拖拽
//4、让MyPanel知道窗口的变化
class MyPanel extends JPanel implements MouseListener,KeyListener,MouseMotionListener,WindowListener
{
public void paint(Graphics g)
{
super.paint(g);
}
//鼠标点击,
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
System.out.println("鼠标点击了:X="+e.getX()+"Y="+e.getY());
}
//鼠标移到MyPanel
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
//System.out.println("鼠标来了");
}
//鼠标离开MyPanel
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
//System.out.println("鼠标离开");
}
//鼠标按下
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
}
//鼠标松开
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
//键按下
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
System.out.println(e.getKeyChar()+"键被按下");
}
//键松开
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
}
//键输入q w e(确实有字符的输入)
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
}
public void mouseDragged(MouseEvent e) {
// TODO Auto-generated method stub
}
public void mouseMoved(MouseEvent e) {
// TODO Auto-generated method stub
//System.out.println("鼠标当前坐标X="+e.getX()+" Y= "+e.getY());
}
//窗口激活
public void windowActivated(WindowEvent arg0) {
// TODO Auto-generated method stub
//System.out.println("windowActivated");
}
//窗口关闭了
public void windowClosed(WindowEvent arg0) {
// TODO Auto-generated method stub
//System.out.println("windowClosed");
}
//窗口正在关闭
public void windowClosing(WindowEvent arg0) {
// TODO Auto-generated method stub
System.out.println("windowClosing");
}
//窗口没激活
public void windowDeactivated(WindowEvent arg0) {
// TODO Auto-generated method stub
//System.out.println("windowDeactivated");
}
//窗口从最小化恢复
public void windowDeiconified(WindowEvent arg0) {
// TODO Auto-generated method stub
System.out.println("windowDeiconified");
}
//窗口最小化
public void windowIconified(WindowEvent arg0) {
// TODO Auto-generated method stub
System.out.println("windowIconified");
}
//窗口打开了
public void windowOpened(WindowEvent arg0) {
// TODO Auto-generated method stub
System.out.println("windowOpened");
}
}
java中事件监听机制
最新推荐文章于 2023-08-05 20:12:15 发布