如何将 JavaFX WebView 设置为与场景一样大?
How can I set a JavaFX WebView as big as the scene?
我有一个 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%;
}
但是 none 这些属性似乎会影响 WebView。它仍然具有默认大小。宽度为 800 像素,高度为 600 像素。
将 WebView
添加到 StackPane
,"will attempt to resize each child to fill its content area." 调整框架大小以查看 StackPane
如何根据默认重排 WebView
内容Pos.CENTER
.
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 */
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);
}
}
我有一个 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%;
}
但是 none 这些属性似乎会影响 WebView。它仍然具有默认大小。宽度为 800 像素,高度为 600 像素。
将 WebView
添加到 StackPane
,"will attempt to resize each child to fill its content area." 调整框架大小以查看 StackPane
如何根据默认重排 WebView
内容Pos.CENTER
.
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 */
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);
}
}