我正在开发一个能够在图像上绘制椭圆的图像编辑器。我能够成功地将图像添加到 JScrollPane 中并使用 fillOval() 函数在其上绘图。但每次我移动滚动条时,所有绘制的椭圆都会消失。由于要上传的图像通常尺寸较大,因此无法禁用滚动条。我已将图像合并到 JLabel 中。请帮忙。
最佳答案
I am able to successfully add an image into a JScrollPane and draw on it using the fillOval() function. But each and every time I move the scroll bar all the drawn ovals disappear.
这对我来说表明你画得不正确。由于您没有向我们展示您是如何绘制的,因此我们只能猜测,但也许您正在组件上调用 getGraphics()
并使用不稳定的 Graphics 实例。如果是这样,您最好在 BufferedImage 本身上调用 getGraphics() 并在其上绘图。或者在 JComponent 的 PaintComponent 方法中进行绘制。
如果这没有帮助,请提供有关您正在做什么的更多信息,最好通过创建并发布 Minimal, Complete, and Verifiable Example Program 。我们不想看到您的整个程序,而是您应该将代码压缩为仍然可以编译的最小代码,没有与您的问题无关但仍能演示您的问题的额外代码。
关于java - 在 JScrollPane 内编辑图像(JLabel),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27756607/