0
JPanel 구성 요소에 이미지로드 중 요구 사항이 있습니다. JPanel에는 10 개의 구성 요소가 있으며 모든 구성 요소는 배경 이미지로 설정해야합니다. 페인트 방법에서 배경 이미지 설정 로직을 구현했지만 매우 느립니다.효율적으로 File System에서 JPanel의 하위 구성 요소 세트에 이미지로드
동일한 작업을 효율적으로 수행하고 싶었습니다.
JPanel 구성 요소에 이미지로드 중 요구 사항이 있습니다. JPanel에는 10 개의 구성 요소가 있으며 모든 구성 요소는 배경 이미지로 설정해야합니다. 페인트 방법에서 배경 이미지 설정 로직을 구현했지만 매우 느립니다.효율적으로 File System에서 JPanel의 하위 구성 요소 세트에 이미지로드
동일한 작업을 효율적으로 수행하고 싶었습니다.
구성 요소의 페인트 방법은 사용자가 창을 이동하거나 끌어서 크기를 조정할 때마다 ... 그리고 여러 다른 상황에서 호출됩니다. 따라서 페인트 메서드를 사용하여 구성 요소를 (다시) 그리기하고로드 프로세스를 한 번만 호출하십시오.
예를 들어, 이미지의 작은 이미지를 만들고 클래스의 어떤 종류에서 그들을 캐시 :
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,..,..,..,..);
}
}