javaFX 利用WebView组件加载网页

import javafx.application.Application;
import javafx.geometry.HPos;
import javafx.geometry.VPos;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Priority;
import javafx.scene.layout.Region;
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 the scene
        stage.setTitle("Web View");//舞台标题
        scene = new Scene(new Browser(),900,600, Color.web("#666970"));//场景对象的创建,挂载了内置浏览器Browser类型对象
        stage.setScene(scene);//舞台挂载场景
        scene.getStylesheets().add("/BrowserToolbar.css");//场景加载css文件特效
        stage.show();//舞台展现
    }

    public static void main(String[] args){
        launch(args);
    }
}
class Browser extends Region {

    final WebView browser = new WebView();//创建WebView视窗对象
    final WebEngine webEngine = browser.getEngine();//获得webView视窗对象的内置浏览器引擎

    public Browser() {
        //apply the styles
        getStyleClass().add("browser");//本Node节点类型对象上添加 class="browser"这个样式类
        // load the web page
        webEngine.load("https://www.baidu.com/");//浏览器加载url
        //add the web view to the scene
        getChildren().add(browser);//本Node类型实例上添加上文创建的浏览器对象

    }
    private Node createSpacer() {
        Region spacer = new Region();
        HBox.setHgrow(spacer, Priority.ALWAYS);
        return spacer;
    }

    @Override protected void layoutChildren() {
        double w = getWidth();
        double h = getHeight();
        layoutInArea(browser,0,0,w,h,0, HPos.CENTER, VPos.CENTER);
    }

    @Override protected double computePrefWidth(double height) {
        return 900;
    }

    @Override protected double computePrefHeight(double width) {
        return 600;
    }
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值