package first;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Demo1 extends JFrame{

MyPanel mp=null;
public static void main(String[] args) {
Demo1 demo1=new Demo1();
}
public Demo1()
{
mp=new MyPanel();

this.add(mp);
this.addMouseListener(mp);
this.addKeyListener(mp);
this.addMouseMotionListener(mp);
this.setSize(400,300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);

}
}
class MyPanel extends Panel implements MouseListener,KeyListener,MouseMotionListener
{
public void paint(Graphics g)
{
super.paint(g);
} public void mouseClicked(MouseEvent arg0) {
// TODO Auto-generated method stub
System.out.println("鼠标点击了  x="+arg0.getX()+"y"+arg0.getY());
} public void mouseEntered(MouseEvent arg0) {
// TODO Auto-generated method stub
System.out.println("鼠标来了");
} public void mouseExited(MouseEvent arg0) {
// TODO Auto-generated method stub

} public void mousePressed(MouseEvent arg0) {
// TODO Auto-generated method stub

} public void mouseReleased(MouseEvent arg0) {
// TODO Auto-generated method stub

}
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

} public void keyTyped(KeyEvent arg0) {
// TODO Auto-generated method stub

} public void mouseDragged(MouseEvent arg0) {
// TODO Auto-generated method stub

} public void mouseMoved(MouseEvent arg0) {
// TODO Auto-generated method stub
System.out.println("鼠标到了 x+"+arg0.getX());
}
}代码无错误!
运行后,鼠标监听没反应;键盘监听有反应;