0

cpp のプログラムによって 1 秒間に 10 回オーバーセーブされたイメージが Apache サーバー上にあります。このアニメーションのような画像をウェブサイトに表示したいと考えています。このスクリプトを書き、netbeans のアプレット ビューアーで動作するようにしましたが、Web サイトにクラスを配置すると、画像が表示され、変更されません。私はこれに多くの時間を費やしましたが、うまくいきません。誰でも私を助けることができますか?

public class poprawki extends Applet implements Runnable {
    Thread thread1;
    boolean running = true;
    BufferedImage obraz = null;

    public void paint(Graphics g)     {
        g.drawImage(obraz, 10, 10, null);
    }

    public void wyswietlanie_obrazu() {
        try {
            obraz =ImageIO.read(new URL("http://localhost/obraz.jpg"));
            repaint();
        } catch (IOException e) {
        }
    }

    public void init() {
        setLayout(null);

        thread1 = new Thread(this);
        thread1.start();

        repaint();
    }

    public void destroy() {
        running = false;
        thread1 = null;
    }

    public void run() {
        while (running) {
            try {
                wyswietlanie_obrazu();
                Thread.sleep(100);
            } catch (InterruptedException e) {
                System.out.println(e);
            }
        }
    }
}
4

1 に答える 1

2

まず、コメントに記載されているように、例外を無視しないでください。無視しなかった場合は、問題の内容を説明するエラー メッセージが表示されます。代わりに、それを無視することで、あなたは自分自身を暗闇の中に置きます.

このアプレットを Apache サーバー以外のマシンで実行すると、明らかに機能しません。localhost は... ローカル ホスト、つまりアプレットが実行されるホストであり、Web サーバーのホストではありません。

Applet.getDocumentBase()アプレットの送信元の Web サーバーを指す URL を取得するために使用します。

于 2013-04-17T19:47:31.980 に答える