Java 在JPanel'中加载图像;以高效的方式从文件系统中删除一组子组件
我需要在JPanel组件中加载图像。 考虑JPAND有10个组件,所有这些组件都需要用背景图像来设置。 因此,在绘制方法中,我实现了背景图像设置逻辑,但速度非常慢Java 在JPanel'中加载图像;以高效的方式从文件系统中删除一组子组件,java,swing,Java,Swing,我需要在JPanel组件中加载图像。 考虑JPAND有10个组件,所有这些组件都需要用背景图像来设置。 因此,在绘制方法中,我实现了背景图像设置逻辑,但速度非常慢 我想以高效的方式完成同样的任务。每次移动、拖动、调整大小时都会调用组件的绘制方法。。。您的窗口和其他几种情况下。因此,仅使用paint方法(重新)绘制组件,并仅调用一次加载过程 创建图像的小缩略图,并将其缓存在某种类中,例如: class Thumbnail extends Component { ... Buffered
我想以高效的方式完成同样的任务。每次移动、拖动、调整大小时都会调用组件的绘制方法。。。您的窗口和其他几种情况下。因此,仅使用paint方法(重新)绘制组件,并仅调用一次加载过程 创建图像的小缩略图,并将其缓存在某种类中,例如:
class Thumbnail extends Component {
...
BufferedImage cachedThumbnail;
public Thumbnail(File thumbnailFile) {
//read image
//(scale image)
this.cachedThumbnail = ...;
}
...
public static void paint(Graphics2D g) {
//only paint the cached image ...
g.drawImage(cachedThumbnail,..,..,..,..);
}
}