2012-11-25 6 views
4

j2me에서 이미지 슬라이드 쇼를 사용해 보았습니다. 아래는 이미지 슬라이드 쇼 코드입니다. 그러나 슬라이드 쇼가 아닌 이미지가 실행되고 표시되지 않습니다.J2ME 이미지 항목 슬라이드 쇼

재생 버튼을 클릭하면 이미지가 이미지 0.jpg에서 이미지 7.jpg까지 자동으로 슬라이드 쇼됩니다. 슬라이드

String[] Foto={"/0.jpg", "/1.jpg","/2.jpg", "/3.jpg","/4.jpg", "/5.jpg","/6.jpg", "/7.jpg"}; 
Image[] img = new Image[8]; 

화상을 도시이 루프

이 변수 ..

protected void paint(Graphics g) { 
    try { 

     g.setColor(255, 0, 0); 
     g.fillRect(0, 0, getWidth(), getHeight()); 
     g.setColor(255,0, 0); 
     g.drawString(text,getWidth()/2, getHeight()/2, 
     Graphics.TOP | Graphics.HCENTER); 
     g.setColor(0, 255, 0); 
     g.setColor(123,0,255); 
     g.drawRect(74,74, 100,100); 
     g.drawRect(72,72, 104,104); 

        for (int i=0;i<8;i++) 
       if (i==1) 
       if (i==2) 
      img[i]=Image.createImage(Foto[i]); 
      g.drawImage(img [1],124,124, Graphics.VCENTER | Graphics.HCENTER); 
      g.drawImage(img [2],124,124, Graphics.VCENTER | Graphics.HCENTER); 
      g.drawImage(img [1],124,124, Graphics.VCENTER | Graphics.HCENTER); 

    } catch (IOException ex) { 
     ex.printStackTrace(); 
    }} 
+0

이 모든 외부 퍼팅하려고하면 X 또는 Y를 변경할 수 있습니다

currentIndex++; repaint(); 

을 시도 할 수 있습니다 페인트 기능 밖. (int i = 0; i <8; i ++) { \t \t에 대한 img [i] = Image.createImage (Foto [i]); \t} \t 동일한 작업을 수행하는 페인트 안의 줄을 삭제하십시오. –

답변

0

는 그림판()의 루프를, 그 캔버스에 하나 개의 이미지 씩 칠 것이다.

protected void paint(Graphics g) { 
try { 

    g.setColor(255, 0, 0); 
    g.fillRect(0, 0, getWidth(), getHeight()); 
    g.setColor(255,0, 0); 
    g.drawString(text,getWidth()/2, getHeight()/2, 
    Graphics.TOP | Graphics.HCENTER); 
    g.setColor(0, 255, 0); 
    g.setColor(123,0,255); 
    g.drawRect(74,74, 100,100); 
    g.drawRect(72,72, 104,104); 


    img = Image.createImage(Foto[currentIndex]); 
    g.drawImage(img,124,124, Graphics.VCENTER | Graphics.HCENTER); 

} catch (IOException ex) { 
    ex.printStackTrace(); 
}} 

currentIndex = 0

이 버튼의 onclick 글로벌 변수를 시도, 당신은 당신이 애니메이션을 원하는 경우 재 페인트 이미지