1

我有一个 BufferedImage,它设置为 JLabel,而 JLabel 又是 JPanel 的一部分。单击按钮后,我在 BufferedImage 上绘制了一些线条,随后在面板上进行了更新。早些时候,我是一条一条地画出每条线,这没问题,但对于我的目的来说时间效率很低。为了提高效率,我将 BufferedImage 的坐标分为 4 个部分,并使用线程在每个部分上绘制线条。现在,执行完成后,图像的某些随机部分没有绘制线条。这是为什么?使用 Graphics2D 绘图不是线程安全的吗?

4

1 回答 1

3

使用 Graphics2D 绘图不是线程安全的吗?

是的,Swing(并在其中绘图)绝对不是线程安全的,您遇到的渲染错误肯定是因为这个。

请参阅以下教程了解更多详细信息: http: //docs.oracle.com/javase/tutorial/uiswing/concurrency/dispatch.html

根据 mKorbel 的评论,请添加 SSCCE 以获得更具体的建议。

于 2012-06-26T10:35:23.507 回答