举个例子全屏模式我给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