java监视鼠标事件

yybjroam05 2013-09-04 10:05:04
我写一个小程序,监视鼠标的点击事件,但一直有问题,编绎不过,
请帮我看看,我是新手,
谢谢!

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){

}
}
...全文
133 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yybjroam05 2013-09-05
  • 打赏
  • 举报
回复
少引入了一个包: import java.awt.event.MouseEvent; 我以为MouseEvent在监听类里,唉。。 并多个类在一个文个里面时,其它取消public 然后就可以了,谢谢
地下室森林 2013-09-04
  • 打赏
  • 举报
回复
刚开始学监视类的时候很容易混淆 MouseListener , mouseClicked 和 MouseAdapter 的区别 鼠标监听类的分类: MouseListener, MouseMotionListener, MouseWheelListener, EventListener MouseAdapter(适配器) 对象实现 MouseListener 接口 mouseClicked 是 MouseListener 的一个实现方法
oh_Maxy 2013-09-04
  • 打赏
  • 举报
回复
如果两个类写到一个文件里编译,与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
		
	}
     
}
MiceRice 2013-09-04
  • 打赏
  • 举报
回复
目测问题应该是:同一个文件中,不能有两个 public 的 class 建议 testchress 不要声明为public,删掉该关键字。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧