JavaFX | WebView 类
WebView 类是 JavaFX 的一部分。 WebView 可以创建和管理 WebEngine 并显示其内容。关联的 WebEngine 是在构建时自动创建的,不能更改。 WebView 管理键盘和鼠标事件,并自动将滚动条添加到 WebView。
类的构造函数:
- WebView() :创建一个新的 Web 视图对象。
常用方法:
Method | Explanation |
---|---|
getChildren() | Gets the list of children of this Parent. |
getEngine() | Returns the engine of the webview. |
getFontScale() | Returns the fontscale of the webview object. |
getHeight() | Returns height of this WebView. |
getMaxHeight() | Returns maximum height. |
getMaxWidth() | Returns maximum width. |
getMinHeight() | Sets minimum height. |
getMinWidth() | Returns minimum width. |
getPrefHeight() | Returns preferred height. |
getPrefWidth() | Returns preferred width. |
getWidth() | Returns width of this WebView. |
getZoom() | Returns current zoom factor. |
maxHeight(double v) | Sets the max height. |
maxWidth(double v) | Sets the max width. |
minHeight(double v) | Sets the min height. |
minWidth(double v) | Sets the min width. |
prefHeight(double v) | Sets the preferred height of the webview. |
prefWidth(double v) | Sets the preferred width of the webview. |
setFontScale(double v) | Sets the font scale of the webview. |
setMaxHeight(double v) | Set the maximum height. |
setMaxWidth(double v) | Set the maximum width. |
setMinHeight(double v) | Set the minimum height. |
setMinWidth(double v) | Set the minimum width. |
setPrefHeight(double v) | Sets the preferred height. |
setPrefWidth(double v) | Sets the preferred width. |
setZoom(double v) | Sets the zoom for the webview. |
下面的程序说明了 Webview 类的使用:
- 创建 WebView 并加载网站并将其显示在舞台上的Java程序:在此程序中,我们将创建一个名为webview的 WebView。我们将使用getEngine()方法从 WebView 中提取 WebEngine。现在使用load()函数在引擎上加载一个网站,我们将webview设置为具有首选高度和首选宽度的场景,并使用setScene()方法将场景添加到舞台,并使用show()函数显示舞台。
// Java Program to create a WebView and load // a website and display it on the stage import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.*; import javafx.scene.layout.*; import javafx.stage.Stage; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.canvas.*; import javafx.scene.web.*; import javafx.scene.Group; public class SliderExample extends Application { // launch the application public void start(Stage stage) { try { // set title for the stage stage.setTitle("creating Webview"); // create a webview object WebView w = new WebView(); // get the web engine WebEngine e = w.getEngine(); // load a website e.load("https://www.geeksforgeeks.org"); // create a scene Scene scene = new Scene(w, w.getPrefWidth(), w.getPrefHeight()); // set the scene stage.setScene(scene); stage.show(); } catch (Exception e) { System.out.println(e.getMessage()); } } // Main Method public static void main(String args[]) { // launch the application launch(args); } }
输出:
- 用于创建 WebView 并加载网站、设置字体比例、还设置缩放并将其显示在舞台上的Java程序:在此程序中,我们将创建一个名为webview的 WebView。我们将使用getEngine()方法从 WebView 中提取 WebEngine。现在使用setFontSize()和setZoom()函数设置对象的字体大小和缩放。我们将使用函数load()在引擎上加载网站。然后将 webview 设置为具有首选高度和首选宽度的场景,并使用setScene()方法将场景添加到舞台,并使用show()函数显示舞台。
// Java Program to create a WebView and load // a website, set the fontscale, also set // the zoom and display it on the stage import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.*; import javafx.scene.layout.*; import javafx.stage.Stage; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.canvas.*; import javafx.scene.web.*; import javafx.scene.Group; public class webview_2 extends Application { // launch the application public void start(Stage stage) { try { // set title for the stage stage.setTitle("creating Webview"); // create a webview object WebView w = new WebView(); // get the web engine WebEngine e = w.getEngine(); // load a website e.load("https://www.geeksforgeeks.org"); // set font scale for the webview w.setFontScale(1.5f); // set zoom w.setZoom(0.8); // create a scene Scene scene = new Scene(w, w.getPrefWidth(), w.getPrefHeight()); // set the scene stage.setScene(scene); stage.show(); } catch (Exception e) { System.out.println(e.getMessage()); } } // Main Method public static void main(String args[]) { // launch the application launch(args); } }
输出:
注意:上述程序可能无法在在线 IDE 中运行。请使用离线编译器。
参考: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/web/WebView.html