0
因此每2秒就會覆蓋文件image.png。我想要一個applet在瀏覽器中顯示圖像。它確實顯示圖像,但問題是圖像文件在計算機上更新後,圖像永遠不會在小程序中更新。我究竟做錯了什麼?圖像在刷新時不更新
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'方法的applet中。在'TimerTask.run'方法中放置'picture = getImage(getDocumentBase(),「image.png」);'' – 2014-09-19 23:38:14
1-確保在執行自定義繪畫之前清除「Graphics」上下文; 2-你沒有以任何方式重新加載圖像,那麼它是如何知道它已被更改的。將原始內容加載到內存中以加快訪問速度 – MadProgrammer 2014-09-20 02:17:18
@ ug_ picture = getImage(getDocumentBase(),「image.png」);在timertask沒有工作。 – jerhynsoen 2014-09-21 00:27:37