我写一个小程序,监视鼠标的点击事件,但一直有问题,编绎不过,
请帮我看看,我是新手,
谢谢!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监视鼠标

解决方案 »

  1.   

    目测问题应该是:同一个文件中,不能有两个 public 的 class建议 testchress 不要声明为public,删掉该关键字。
      

  2.   

    如果两个类写到一个文件里编译,与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

    }
         
    }
      

  3.   

    刚开始学监视类的时候很容易混淆 MouseListener , mouseClicked 和 MouseAdapter 的区别
    鼠标监听类的分类:
       MouseListener, MouseMotionListener,
       MouseWheelListener, EventListener   MouseAdapter(适配器) 对象实现 MouseListener 接口
       mouseClicked 是 MouseListener 的一个实现方法
      

  4.   

    少引入了一个包:
    import java.awt.event.MouseEvent;我以为MouseEvent在监听类里,唉。。并多个类在一个文个里面时,其它取消public然后就可以了,谢谢