如何将JavaFX WebView设置为与场景一样大?
发布时间:2020-12-15 04:31:02 所属栏目:Java 来源:网络整理
导读:我有一个 JavaFX WebView,我希望它与开始时的场景一样大.如果我可以通过场景调整大小,这将是完美的. 但是现在我只关注初始尺寸. @Overridepublic void start(Stage stage) { try { Scene scene = new Scene(createWebViewPane(),1920,1080); scene.getStyles
我有一个
JavaFX WebView,我希望它与开始时的场景一样大.如果我可以通过场景调整大小,这将是完美的.
但是现在我只关注初始尺寸. @Override public void start(Stage stage) { try { Scene scene = new Scene(createWebViewPane(),1920,1080); scene.getStylesheets().add(getClass().getResource("Styles/application.css").toExternalForm()); stage.setScene(scene); stage.show(); } catch (Exception e) { e.printStackTrace(); } } 上面的代码创建了一个宽度为1920px,高度为1080px的场景. createWebViewPane()在窗格上创建WebView. private Pane createWebViewPane() { final Pane pane = new Pane(); pane.minWidth(1920); pane.minHeight(1080); WebView browser = new WebView(); browser.minWidth(1920); browser.prefWidth(1920); browser.minHeight(1080); browser.prefHeight(1080); WebEngine webEngine = browser.getEngine(); webEngine.load(getClass().getResource("index.html").toExternalForm()); pane.getChildren().add(browser); return pane; } 在那里,我尝试设置宽度/高度.我也在样式表中设置它. web-view{ -fx-font-scale: 1; -fx-min-width: 1920px; -fx-min-height: 1080px; -fx-pref-width: 100%; -fx-pref-height: 100%; } 但是这些属性似乎都不会影响WebView.它仍然具有默认大小.宽800像素,高600像素. 解决方法
将WebView添加到
StackPane ,“将尝试调整每个子节点的大小以填充其内容区域”.调整框架大小以查看StackPane如何根据默认的Pos.CENTER重排WebView内容.
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; /** @see https://stackoverflow.com/a/33824164/230513 */ public class WebViewPane extends Application { @Override public void start(Stage primaryStage) { StackPane root = new StackPane(); WebView webView = new WebView(); WebEngine webEngine = webView.getEngine(); webEngine.load("http://www.example.com"); root.getChildren().add(webView); Scene scene = new Scene(root); primaryStage.setTitle("WebView"); primaryStage.setScene(scene); primaryStage.show(); } public static void main(String[] args) { launch(args); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |