请教鼠标点击事件的调用次数问题 本帖最后由 v5_6000 于 2011-03-01 21:36:46 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是这样,你可以试着在paint方法中打印一下看看它被调用了几次实际上,开始调用了两次paint,以后每点击鼠标一次因为repaint的关系又会调用paint,每次调用paint,都是增加一个新的鼠标监听者对象,因此MousePressed方法会2,3,4,5...这样随点击次数递增至于第一次为什么是两次paint,我猜初始化时一次,还可能包含一个由最小化恢复到正常状态的过程,都要paint一下,不过这个倒不是与问题相关最重要的 如何能只调用一次mousePressed()方法呢?=====不要放paint里,最好放在一次执行的环境中比如init等 问题解决,非常感谢!import java.awt.*;import java.awt.event.*;import java.applet.*;public class MouseOperationsByEvent extends Applet{ public void init() { MouseListener mdListener = new MouseAdapter(){ //处理鼠标点击事件 public void mousePressed(MouseEvent e) { System.out.println("------"); repaint(); } }; MouseMotionListener mmListener = new MouseMotionAdapter() { // 鼠标移动事件 public void mouseMoved(MouseEvent e) { System.out.println("===="); repaint(); } }; addMouseListener(mdListener); addMouseMotionListener(mmListener); } public void paint(Graphics g) { }} 请教一下“试着在paint方法中打印一下看看它被调用了几次”。鼠标是个事件监听,不是直接调用。还要在paint方法中来计数。这个事情怎么做?你说的2次是怎么来的? 调用几次就是打印一下System.out.println("xx"); 用comm操作串口问题 如何讲一个字符串中的某个值来替换呢? 请高手指教!谢谢 超简单问题::::::JSP中如何判断记录为空?!输出"暂无记录!". 最新整理的300多个编程设计网站,论坛,有兴趣的朋友可以看看。 同样hashCode的对象,为什么无法在HashMap中取出? IE中的Applet出错(用的是IE自身的JVM),急! poi在什么地方下载? java.util.Date类型向java.sql.Date类型转换之间的一个小问题,请大家进来看看 谁知道类“JPEGImageEncoder”在哪里能找到? jsp页面怎么显示换行的问题? java 里的冒号是什么意思
实际上,开始调用了两次paint,以后每点击鼠标一次因为repaint的关系又会调用paint,
每次调用paint,都是增加一个新的鼠标监听者对象,因此MousePressed方法会
2,3,4,5...这样随点击次数递增至于第一次为什么是两次paint,我猜初始化时一次,还可能包含一个由最小化恢复到正常状态的过程,都要paint一下,不过这个倒不是与问题相关最重要的
=====
不要放paint里,最好放在一次执行的环境中比如init等
import java.awt.event.*;
import java.applet.*;public class MouseOperationsByEvent extends Applet
{
public void init() {
MouseListener mdListener = new MouseAdapter(){
//处理鼠标点击事件
public void mousePressed(MouseEvent e) {
System.out.println("------");
repaint();
}
};
MouseMotionListener mmListener = new MouseMotionAdapter() {
// 鼠标移动事件
public void mouseMoved(MouseEvent e) {
System.out.println("====");
repaint();
}
};
addMouseListener(mdListener);
addMouseMotionListener(mmListener);
} public void paint(Graphics g)
{
}
}
鼠标是个事件监听,不是直接调用。还要在paint方法中来计数。这个事情怎么做?你说的2次是怎么来的?
System.out.println("xx");