javafx 使用webview
javafx 使用webview 加载网页,可以看做是一个内嵌的浏览器。c/s 架构快速开发的一个可选方案。import javafx.application.Application;import javafx.application.Platform;import javafx.beans.value.ChangeListener;import javafx.beans.value.Observ
·
javafx 使用webview 加载网页,可以看做是一个内嵌的浏览器。c/s 架构快速开发的一个可选方案。
import javafx.application.Application;
import javafx.application.Platform;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.scene.web.WebView;
import javafx.stage.Screen;
import javafx.stage.Stage;
/**
* JavaFX App
*/
public class App extends Application {
private static Scene scene;
public static void main(String[] args) {
launch(args);
}
public void start(Stage primaryStage) {
primaryStage.setTitle("标题demo");
WebView webView = new WebView();
StackPane root = new StackPane();
webView.getEngine().load("https://www.baidu.com");
root.getChildren().add(webView);
Scene scene = new Scene(root);
primaryStage.setScene(scene);
primaryStage.show();
// 让它默认全屏展示, 可以选择去掉
primaryStage.setWidth(Screen.getPrimary().getVisualBounds().getWidth());
primaryStage.setHeight(Screen.getPrimary().getVisualBounds().getHeight());
primaryStage.setFullScreen(true);
// 全屏监听器
primaryStage.fullScreenProperty().addListener(new ChangeListener<Boolean>() {
@Override
public void changed(ObservableValue<? extends Boolean> prop, Boolean oldVal, Boolean newVal) {
if(oldVal){
// 如果退出全屏,让它最大化
Platform.runLater(()->{
primaryStage.setWidth(Screen.getPrimary().getVisualBounds().getWidth());
primaryStage.setHeight(Screen.getPrimary().getVisualBounds().getHeight());
});
}
}
});
// 最大化按钮监听,点击最大化时全屏
primaryStage.maximizedProperty().addListener(new ChangeListener<Boolean>() {
@Override
public void changed(ObservableValue<? extends Boolean> prop, Boolean oldVal, Boolean newVal) {
Platform.runLater(()->{
primaryStage.setFullScreen(true);
});
}
});
}
}
更多推荐
所有评论(0)