📜  JavaFX | WebView 类

📅  最后修改于: 2022-05-13 01:55:16.582000             🧑  作者: Mango

JavaFX | WebView 类

WebView 类是 JavaFX 的一部分。 WebView 可以创建和管理 WebEngine 并显示其内容。关联的 WebEngine 是在构建时自动创建的,不能更改。 WebView 管理键盘和鼠标事件,并自动将滚动条添加到 WebView。

类的构造函数:

  • WebView() :创建一个新的 Web 视图对象。

常用方法:

MethodExplanation
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 类的使用:

  1. 创建 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);
        }
    }
    

    输出:

  2. 用于创建 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