Автоматическое обновление JavaFx WebView? - PullRequest
2 голосов
/ 20 июня 2019

Я хочу сделать автоматическое обновление JavaFX WebView. Вы можете помочь мне с этим? Оценка должна обновляться каждые 10 секунд

package ui;

import java.io.IOException;        

import host.*;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;
import javafx.stage.Stage;        

public class MainUİ extends Application {

    @Override
    public void start(Stage primaryStage) throws IOException {
        StackPane root = new StackPane();
        WebView webView = new WebView();
        WebEngine webEngine = webView.getEngine();
        //get read .txt file and connect hostinfo 
        GetHost host = new GetHost();
        String hostinfo = host.getHost();
        webEngine.load(hostinfo);
        root.getChildren().add(webView);
        Scene scene = new Scene(root);
        primaryStage.setTitle("Evren-Software");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }

}

Я собираюсь сделать зеркало на большом экране, поэтому мне нужно обновить. Я использовал это с .reload, но это не сработало. каждые 10 секунд

1 Ответ

3 голосов
/ 20 июня 2019

Вы можете использовать Timeline для перезагрузки страницы каждые 10 секунд:

WebView webView = new WebView();
WebEngine webEngine = webView.getEngine();

KeyFrame keyFrame = new KeyFrame(Duration.seconds(10), event -> {
    webEngine.reload();
    event.consume();
});
Timeline timeline = new Timeline(keyFrame);
timeline.setCycleCount(Animation.INDEFINITE);

GetHost host = new GetHost();
String hostinfo = host.getHost();
webEngine.load(hostinfo);
timeline.play();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...