舉個例子全屏模式我給www.youtube.com
它可以讓你觀看任何類型的影片。以下是使用JavaFX WebView
來顯示網站的Oracle Tutorial的最小代碼。
的問題是:
1)不能夠進入全屏幕上的任何視頻。
2)即使它被視頻支持,也無法繼續全高清。
問題
爲什麼出現這種情況?我已經用最新的Java 8 Update 131
和Java 9 update 171
都嘗試代碼:
import javafx.application.Application;
import javafx.application.Platform;
import javafx.scene.Scene;
import javafx.scene.layout.BorderPane;
import javafx.scene.paint.Color;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;
import javafx.stage.Stage;
public class WebViewSample extends Application {
private Scene scene;
@Override
public void start(Stage stage) {
// create scene
stage.setTitle("Web View");
scene = new Scene(new Browser(),Color.BLACK);
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
class Browser extends BorderPane {
final WebView browser = new WebView();
final WebEngine webEngine = browser.getEngine();
public Browser() {
//add components
setCenter(browser);
// load the home page
webEngine.load("https://www.youtube.com");
}
// JavaScript interface object
public class JavaApp {
public void exit() {
Platform.exit();
}
}
}
嗯,甚至沒有Java 9解決這個問題.....? ,如果你知道它,我還有一個問題,我不會讓它成爲一個單獨的問題。 '有什麼方法可以設置WebEngine的歷史?'例如,我試圖在默認情況下在WebEngine歷史記錄中添加一些條目,但可觀察列表是不可修改的,並且出現錯誤。 – GOXR3PLUS
@ GOXR3PLUS自8u131(新的webkit版本)以來我沒有看到重大更改,因此可能不會。關於設置WebEngine的歷史,我從源代碼中找到(https://github.com/Debian/openjfx/blob/master/modules/web/src/main/java/javafx/scene/web/WebHistory.java)您可以通過反射來獲取第151行中的「列表」對象並更改其內容。 – volatilevar
感謝您的回答:)反思雖然在Java 9中殺死應用程序。 – GOXR3PLUS