1.gif
애니메이션 되는 이미지
sunImage.jpg
배경으로 사용할 이미지
SunImgExe.java
import org.kwis.msp.lcdui.*;
public class SunImgExe extends Jlet
{
protected void startApp(String[] args)
{
SunImgCard SICard = new SunImgCard(); //SunImgCard 클래스 생성
Display dis = Display.getDefaultDisplay(); //출력할 카드를 보여줄 화면 설정
dis.pushCard(SICard); //Card에 SunImgCard를 출력한다.
}
protected void resumeApp(){}
protected void pauseApp(){}
protected void destroyApp(boolean b){}
}
SunImgCard.java
import org.kwis.msp.lcdui.*;
import java.io.IOException;
//Card Class를 상속받음 - paint() 및 repaint() 메소드의 사용을 정의한다. - Abstrict
//Runnable, ImageObserver : Interface로써 관련 Method는 Abstrict로 무조건 처리한다.
class SunImgCard extends Card implements Runnable,ImageObserver
{
int width, height;
int x, y;
Image imgPng; //이미지를 생성하여 담을 변수를생성
Image imgGif;
Thread mThread = new Thread(this);
public SunImgCard()
{
width = getWidth();
height = getHeight();
x = 0;
y = 0;
System.out.println("width="+width + ",height=" + height + ",x=" + x + ",y=" + y);
loadImage();
imgGif.play(this);
mThread.start();
}
public void run()
{
while(true)
{
x += 5;
if(x >= width)
{
x = 0;
}
repaint();
try
{
Thread.sleep(150);
}
catch (InterruptedException ex)
{
System.out.println("에러" + ex);
}
} //while 종료
} //run() 종료
public void loadImage()
{
try
{
imgPng = Image.createImage("sunImg.png"); //이미지 할당
imgGif = Image.createImage("1.gif");
}
catch (IOException ex)
{
System.out.println("이미지 로드 실패" + ex);
}
catch (Exception ex)
{
System.out.println("이미지 로드 실패" + ex);
}
}
public void paint(Graphics g)
{
g.setColor(255,255,255);
g.fillRect(0,0,width,height);
g.drawImage(imgPng, 0, 0, 0);
g.drawImage(imgGif, x, height/2, 0);
}
public void notify(Image img, int status)
{
repaint();
}
}
댓글 영역