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;
}
}
版权声明:本文为zy103118原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。