だから、私は webview を持っていて、2 (または任意の数 > 1) ページを次々にロードしたいと考えています。ただし、ページの変更は、前のページが読み込まれた直後ではなく、一定時間後に発生する必要があります。例えば:
public void load()
{
engine.load("link1");
//need to wait some time here
engine.load("link2");
//need to wait some time here
engine.load("link3");
}
ページの読み込みが完了したときにスレッドをスリープさせようとしました:
engine.getLoadWorker().stateProperty().addListener(new ChangeListener<Worker.State>() {
@Override
public void changed(ObservableValue observableValue, Worker.State o, Worker.State o2) {
if (o2.equals(Worker.State.SUCCEEDED)) {
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
});
しかし、 engine.load() はページが読み込まれるまで待機しないため、機能しません (そのためのイベントリスナーがあるため)。これのもう 1 つのマイナス面は、Thread.sleep() が GUI とスレッド全体をブロックするため、読み込みリンクの間に配置できないことです。
解決策はありますか?ページが読み込まれた後、次のページの読み込みを開始する前に遅延を設定します。
よろしく、
イヴァン