首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >刷新BufferedImage

刷新BufferedImage
EN

Stack Overflow用户
提问于 2014-06-03 11:09:26
回答 1查看 260关注 0票数 0

我想在JFrame中创建一个简单的画笔。为此,我创建了一个BufferedImage,当鼠标被拖动时,我只是重新绘制它,并将其设置为图像更改。

问题是如果我拖拽鼠标太快,并不是所有的点都画出来了。看上去像虚线。

下面是我更新图像的代码:

代码语言:javascript
复制
public void mouseDragged(MouseEvent evt) 
{   
    int x = evt.getX();
    int y = evt.getY();

    if(eraser == false)   
        this.Dice(x, y);
    else
        this.Eraser(x, y);

    g = (Graphics2D) this.getGraphics();
    g.drawImage(image, positionX, positionY, null);
    g.dispose();
}

、Dice、橡皮擦方法中,我更改了图像(我设置了像素)。我真的不知道怎么修理它。

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-03 11:15:07

我认为这是由于Swing“缓冲”鼠标拖动事件(即,如果鼠标每个中断移动一个像素以上,它只会被调用一次)。您可以尝试存储最新报告的鼠标位置,而不是为像素调用一次this.Dice()/this.Eraser(),而是在开始(最后)位置和当前鼠标事件的位置之间调用它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24013636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档