JAVAFX嵌入html页面

JAVAFX嵌入html页面

javafx嵌入html页面

使用fjavafx嵌入html页面需要先创建一个fxml页面,页面中放入一个WebView,具体嵌入的代码在后台fxml对应的controller中操作

FXML页面代码









     
      
   

fx:controller=“com.sky.ht.view.setting.SettingController”>
对应的是这个fxml的后台controller

后台controller

import java.net.URL;
import java.util.ResourceBundle;

import com.sky.ht.Main;
import com.sky.ht.utils.AsrUtils;
import com.sky.ht.view.BaseView;

import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.concurrent.Worker;
import javafx.concurrent.Worker.State;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;

public class SettingController extends BaseView implements Initializable {

	
	@FXML
	private WebView webView;
	
	
	@Override
	public void initialize(URL location, ResourceBundle resources) {
		// TODO Auto-generated method stub

		final WebEngine webengine = webView.getEngine();
		
		webengine.getLoadWorker().stateProperty().addListener(new ChangeListener() {
			public void changed(ObservableValue ov, State oldState, State newState) {

				if (newState == Worker.State.SUCCEEDED) { // 页面加载成功
				}
			}
		});
		//AsrUtils.getInstance().url是我放在工具类的要嵌入的html页面路径,直接替换即可
		webengine.load(AsrUtils.getInstance().url);
	}
	@Override
	public void setMain(Main main) {
		this.main = main;
		//设置页面的高度
		webView.setPrefHeight(636);
		
	}
}

你可能感兴趣的:(JAVAFX)