ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Javaの課題丸投げコミュの課題 Javaappletでの画像表示

  • mixiチェック
  • このエントリーをはてなブックマークに追加
JavaappletでWebカメラからFTPに上げられた画像を表示し、それを自動更新により動的にみせるようにしたいのですが、よくわかりません。

今は
import java.awt.*;
import java.util.*;

public class liveboard extends java.applet.Applet implements Runnable {
/**
*
*/
private static final long serialVersionUID = 1L;
Image img; // ライブイメージ
String img_file,param; //イメージファイル名、パラメータ変数
long time0=0; //更新した時刻
long timetemp; //現在の時刻
int timenow; //経過時間
int live_time; //ライブインターバル(秒)
Thread Ahi;

public void init()
{
img_file = getParameter("name"); // イメージの名前を読み出す
param = getParameter("live_time"); // ライブインターバルの設定
if (param == null) param = "60";
live_time = Integer.valueOf(param).intValue();
live_time = live_time * 1000;
img= getImage(getDocumentBase(), img_file);
time0=new Date().getTime();
}

public void paint(Graphics g)
{
g.drawImage(img, 0,0,this);
}

public void start() {
Ahi = new Thread(this);
Ahi.start();
}

public void stop() {
Ahi.stop();
}

public void update(Graphics g) {
paint(g);
}

public void run() {
while( true ) {
try {
Thread.sleep(100); // 100msスリープ
}
catch (InterruptedException e) {};

timetemp=new Date().getTime();
timenow =(int)(timetemp-time0);
if (timenow > live_time) {
repaint();
img.flush();
img= getImage(getDocumentBase(), img_file);
time0=new Date().getTime();
}
}
}
}

という形でやっているのですが、画像は表示されますが自動更新はされません。
どうかよろしくお願いします。

コメント(1)

イメージ生成が追いついてないんじゃない?

MediaTracker mt = MediaTracker(this);
ってのを生成しておいて

img= getImage(getDocumentBase(), img_file);
の後ろに
mt.addImage(img,0);
try{
mt.waitForID(0);
}catch(InterruptedException ie){
}finally{
mt.removeImage(img,0);
}
を追加してあげれば、イメージが出来上がるまで待つようになります。

テストも何もしてないので、動くかはわかりませんし、最適なソースかわかりませんが(笑)

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

Javaの課題丸投げ 更新情報

Javaの課題丸投げのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。