java监视鼠标事件,该如何处理

java监视鼠标事件我写一个小程序,监视鼠标的点击事件,但一直有问题,编绎不过,请帮我看看,我是新手,谢谢!im

java监视鼠标事件
我写一个小程序,监视鼠标的点击事件,但一直有问题,编绎不过,
请帮我看看,我是新手,
谢谢!


import javax.swing.JFrame;
import javax.swing.JOptionPane;
import java.awt.event.MouseListener;
import java.awt.Toolkit;
public class Wmain{
public static void main(String[] args){
JFrame myjf=new testchress();
}
}

public class testchress extends JFrame implements MouseListener {
public testchress(){
this.setVisible(true);
this.setTitle("我是标题");
this.setSize(300,200);//窗口宽300,高200
this.setLocation(400,400);
int width=Toolkit.getDefaultToolkit().getScreenSize().width;//获取屏幕宽度
int height=Toolkit.getDefaultToolkit().getScreenSize().height;//获取屏幕高度
this.setLocation((width-200)/2,(height-200)/2);
this.addMouseListener(this);
}
public void mouseClicked(MouseEvent e){
System.out.println("你单击了");
JOptionPane.showMessageDialog(this, "你单击了内容");
}

public void mousePressed(MouseEvent e){
System.out.println("你按下了键");
}

public void mouseReleased(MouseEvent e){
System.out.println("抬起了");
}

/**
 * 进入事件
 */
public void mouseEntered(MouseEvent e){

}

//鼠标移出事件
public void mouseExited(MouseEvent e){

}
}
java 监视鼠标
[解决办法]
目测问题应该是:同一个文件中,不能有两个 public 的 class

建议 testchress 不要声明为public,删掉该关键字。
[解决办法]
如果两个类写到一个文件里编译,与java文件同名的类为public的,其他的要去掉public;另外,实现类少了一个方法:

import javax.swing.JFrame;
import javax.swing.JOptionPane;

import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.Toolkit;
public class Wmain{
    public static void main(String[] args){
        JFrame myjf=new testchress();
    }
}
 
class testchress extends JFrame implements MouseListener {


    public testchress(){
        this.setVisible(true);
        this.setTitle("我是标题");
        this.setSize(300,200);//窗口宽300,高200
        this.setLocation(400,400);
        int width=Toolkit.getDefaultToolkit().getScreenSize().width;//获取屏幕宽度
        int height=Toolkit.getDefaultToolkit().getScreenSize().height;//获取屏幕高度
        this.setLocation((width-200)/2,(height-200)/2);
        this.addMouseListener(this);
    }
    public void mouseClicked(MouseEvent e){
        System.out.println("你单击了");
        JOptionPane.showMessageDialog(this, "你单击了内容");
    }
     
    public void mousePressed(MouseEvent e){
        System.out.println("你按下了键");
    }
     
    @Override
    public void mouseReleased(MouseEvent e){
        System.out.println("抬起了");
    }
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub

}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub

}
     
}


[解决办法]
刚开始学监视类的时候很容易混淆 MouseListener , mouseClicked 和 MouseAdapter 的区别
鼠标监听类的分类:
   MouseListener, MouseMotionListener,
   MouseWheelListener, EventListener

   MouseAdapter(适配器) 对象实现 MouseListener 接口
   mouseClicked 是 MouseListener 的一个实现方法