我在看jdk1.4的demo里面的applets\DrawTest的代码时
发现一个问题
在DrawPanel类中,写鼠标事件的时候都要先调用consume()方法,不知何解
源码:
 public void mouseReleased(MouseEvent e) {
        e.consume();
        switch (mode) {
           .................
        }
        repaint();
    } public void mouseDragged(MouseEvent e) {
        e.consume();
        switch (mode) {
             .................
        }
        repaint();
    }

解决方案 »

  1.   

    我来帮你顶,并且抛砖引玉一下。
    这个问题其实也许不难,楼主,请把e.consume()这一句去掉,看看是什么效果,或许可以猜出来这一句的用途。
      

  2.   

    谢猫兄
    e.consume()我觉得没什么用~
    我自己写的事件都不用e.consume()的~
    所以我去掉了之后,运行效果并没有改变啊~文档中写到
    Consumes this event, if this event can be consumed. Only low-level, system events can be consumed 所以我觉得可能是处于安全上的考虑~
    这只是我的猜测
    可惜没有高人来指点一下