你用的是awt的class吗?如果用Swing是不会出现抖动的.除非你在一个界面中设置了两种显示风格.位置不一样吗,因为你的e.getx,e.gety得到的是相对坐标(相对与父的),如果想位置一致,你需要进行坐标转换,e.translatePoint(a,b);具体ab的值看你用什么作为参照对象了.

解决方案 »

  1.   

    如果用的是awt的组件,需要使用双缓冲来避免画面的抖动.
      

  2.   

    我用的是swing,但不知你所说的“在同一个界面中设置了两种显示风格”是什么意思啊??——请再指点一下迷津!感激不尽!!
      

  3.   

    在同一个界面中设置了两种显示风格
    :)
    就是左边是windows风格,右边是motif风格的.
    正常来说swing的组件都是实现双缓冲的,不应该再出现闪烁了.
      

  4.   

    哦,我设置的都是windows风格。至于双缓冲,我检查一下,自己是不是把哪个给改了。非常感谢!
      

  5.   

    成功了! void this_mouseDragged(MouseEvent e) {
         this.setLocation(e.getX()+(int)this.getLocation().getX(),e.getY()+(int)  this.getLocation().getY());
      }改为以上的语句就什么问题都解决了!!衷心感谢小刀的热情回复!!!