2014-03-12 5 views
0

스캔 한 책의 jpg 파일을 사용하여 일종의 책 (또는 사진 갤러리)을 만들고 싶습니다. 사용자는 그가 가고자하는 페이지의 번호를 알려주고, 버튼을 클릭하면 페이지가 표시됩니다. 사진을로드하는 가장 좋은 방법은 무엇인지 알아야합니다.사진 갤러리에 사진을로드하는 가장 좋은 방법

private ImageIcon image1= new ImageIcon ("1.jpg"); 
private ImageIcon image2 = new ImageIcon ("2.jpg"); 
.... 

을하고 등등 배열에 사진을 넣고 ... 을하지만 난 500 사진 극복하고 같은 페이지를로드하는 지루한 : 나는 각 페이지에 대해 이렇게 생각 해요. 다른 방법이 있습니까?

답변

1

글쎄, 최선의 방법은 게으름로드와 프리 캐싱이라고 말할 수 있습니다. 지연로드는 사용자가 필요할 때만 이미지를로드한다는 것을 의미합니다. 예를 들면 :

img = 56; // suppose the user want to see page 56 
if(images[img] != null) { // images is an array with the images 
    images[img] = new ImageIcon (img + ".jpg"); 
} 

게다가, 당신은 사용자가 페이지를 볼 때 다음 사람 (미리 캐시)를 참조 것을 손님 수 있습니다. 따라서 다음 X 페이지를로드 할 수도 있습니다.

PRELOAD = 10; // number of pages to preload 
img = 56; 
for(int i = 0; i < PRELOAD; i++) { 
    if(images[img+i] != null) { 
    images[img+i] = new ImageIcon ((img + i) + ".jpg"); 
    } 
} 

게다가 처음에는 사용자가 처음 페이지를 볼 것이라고 생각할 수도 있습니다. 따라서 프로그램 시작시 첫 번째 X 페이지를 미리로드 할 수 있습니다.