Можем ли мы добавить 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();
}
}
}