Java Applet:快速拖动的鼠标在点之间产生巨大的差距

时间:2012-04-16 19:07:41

标签: java applet awt

我的目标是在拖动鼠标时绘制点。 问题是,当鼠标移动得非常快时,点之间的距离变得很大,而不是小的所需距离,这是无法识别的。

缩短的代码是:

public void update(Graphics g){
    paint(g);
}

public void paint(Graphics g){
        for(i = 0; i <= height; i++){
            for(j = 0; j <= width; j++){
                if(virWorld[i][j] == 1) bufferGraphics.fillRect(i,j,1,1);
            }
        }
        g.drawImage(offscreen,0,0,this);
 }

public void mouseDragged(MouseEvent evt){
    curX = evt.getX();
    curY = evt.getY();
    virWorld[curX][curY] = 1;
}


public void run(){
    while(true){
        repaint();
        try{
            Thread.wait(10);    
        }
        catch(Exception exception){
            System.out.println(exception);
        }
    }
}

感谢您的帮助, 罗宾

2 个答案:

答案 0 :(得分:2)

所以它确实如此。您需要在前一个点和当前点之间进行插值,即在两点之间画一条线。此外,您可能需要在执行此操作时设置较粗的笔划

答案 1 :(得分:1)

在远点之间划一条线,或者如果你喜欢冒险,可以尝试曲线。