我使用ScheduledExecutorService每1秒運行一次循環建立。我有一個WebView(JavaFX),我想從它調用一個函數。在ScheduledExecutorService中執行javascript函數?
我可以調用的函數的罰款,如果我把它放在它像一個按鈕:
button.setOnAction(event -> {
webEngine.executeScript("someFunction();");
});
,並點擊它,它執行得很好,但是當我做:
execService.scheduleAtFixedRate(()->{
loop();
webEngine.executeScript("someFunction();");
}, 3000L, 1000L, TimeUnit.MILLISECONDS);
程序公正在webEngine.executeScript("someFunction();");
停止(如果我把那條線放在我的loop()
方法中,也是一樣的)
我怎樣才能每秒執行someFunction()
與我的其餘部分程序?爲什麼暫停?
你是什麼意思的 「只是停止」 嗎?凍結/掛起?崩潰?如果是這樣,堆棧跟蹤說什麼? – Mena
@Mena我仍然可以點擊東西,做東西,沒有什麼會出現在控制檯中,一切正常,除非在scheduleexecutorservice中執行的任何東西都不會,例如。如果我在'webEngine.executeScript(「someFunction();」)之後放一個'System.out.println(「bleh」)''它沒有達到它 – srysry