Javafx Webview в контейнер (Splitpane здесь) - PullRequest
0 голосов
/ 11 октября 2018

Можем ли мы добавить JavaFX Webview в контейнер?

На самом деле у меня есть проект в процессе, и я хотел бы иметь только одно окно для интерфейса пользователя.Пользовательский интерфейс SplitPane может быть хорошим ответом для меня и функций, которые я должен отобразить.(см. ниже)

В разделе «представление» я хотел бы отобразить WebView, в частности, карту (MapBox или OpenStreetMap) не имеет значения!

На самом деле мой map.html работает в независимом окне, мне нужно только знать, возможно ли то, что я хочу сделать, и если да, можете ли вы показать мне, как это сделать?

Пока у меня есть этот класс:

import java.io.IOException;

import javax.annotation.PostConstruct;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.scene.layout.GridPane;
import javafx.scene.web.WebView;
import javafx.stage.Stage;

public class MapViewer extends Application {

    @PostConstruct
    public static void main(String[] args) {

        launch(args);
    }

    public void start(Stage stage) {

        SplitPane root;

        try {
            root = (SplitPane)     FXMLLoader.load(getClass().getResource("Main.fxml"));

            Stage secondStage = new Stage();

            Scene scene = new Scene(root, 750, 300);

                scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());

            secondStage.setScene(scene);

            secondStage.setTitle("MapView");
            secondStage.sizeToScene();
            secondStage.show();

            Stage stage1 = new Stage();

            WebView webview = new WebView();

            webview.getEngine().load(MapViewer.class.getResource("/view  mapview3.html").toExternalForm());

            stage1.setTitle("MapView");
            stage1.setMaximized(true);
            stage1.setScene(new Scene(webview));
            webview.getEngine().setJavaScriptEnabled(true);

            stage1.show();

        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

}
...