0
image.png 파일이 2 초마다 덮어 씁니다. 애플릿이 이미지를 브라우저에 표시하기를 원합니다. 이미지를 표시하지만 문제는 이미지 파일이 컴퓨터에서 업데이트 된 후 이미지가 애플릿에서 업데이트되지 않는다는 것입니다. 내가 도대체 뭘 잘못하고있는 겁니까?이미지가 다시 칠판에 업데이트되지 않음
import java.awt.*;
import java.util.Timer;
import java.util.TimerTask;
import javax.swing.JApplet;
public class ImageUpdate extends JApplet {
Image picture;
Timer timer = new Timer();
int delay = 2000; //2 second
int period = 4000; //4 seconds
public void init() {
picture = getImage(getDocumentBase(),"image.png");
timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
repaint();
System.out.println("image updated");
}
}, delay, period);
}
public void paint(Graphics g) {
g.drawImage(picture, 0,0, this);
}
public void update(Graphics g)
{
super.paint(g);
}
}
이미지는 이미'init' 메소드로 애플릿에로드되었을 것입니다. 'TimerTask.run' 메소드 안에'picture = getImage (getDocumentBase(), image.png ");'를 넣으십시오. –
1- 사용자 정의 페인팅을 수행하기 전에'Graphics' 컨텍스트를 지우십시오. 2 - 어떤 방식 으로든 이미지를 다시로드하지 않았으므로 어떻게 변경되었는지 알 수 있습니다. 원본은 메모리에로드되어 액세스 속도가 향상됩니다. – MadProgrammer
@ ug_ picture = getImage (getDocumentBase(), "image.png"); in timertask가 작동하지 않았습니다. – jerhynsoen