JavaFX /如何在SplitPane中嵌入地图

时间:2013-08-23 09:24:50

标签: javafx-2 javafx

今天的问题是将地图视图嵌入到JavaFX应用程序中。我基本上遵循StackOverFlow - embedding google map in JavaFXEmbed OpenLayers with OpenStreetMap上的说明,因此*.html文件之类的所有内容都已就绪。但是,人们正在将WebView添加到主Scene。对我而言,我想将WebView添加到SplitPane。 ThereFore我准备了application.fxml文件如下:

<SplitPane id="SplitPane" dividerPositions="0.5" orientation="HORIZONTAL" prefHeight="260.0" prefWidth="850.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
    <items>
        <TableView id="tableView1" fx:id="table" prefHeight="263.0" prefWidth="433.0">
            <columns>
                <TableColumn text="one" /><TableColumn text="two" /><TableColumn text="three" />
            </columns>
        </TableView>
        <AnchorPane prefHeight="200.0" prefWidth="200.0">
            <children>
                <Region fx:id="webViewRegion" prefHeight="200.0" prefWidth="200.0" />
            </children>
        </AnchorPane>
     </items>
</SplitPane>

启动应用程序时,FXMLLoader加载FXML文件。在应用程序控制器中,我得到Region,如下所示:

@FXML
private Region webViewRegion;

class MyMapView extends Region {

    HBox toolbar;
    WebView webview = new WebView();
    WebEngine webEngine = webview.getEngine();

    public MyMapView() {
        final URL urlGoogleMaps = getClass().getResource("openstreetmap.html");
        webEngine.load(urlGoogleMaps.toExternalForm());
        getChildren().add(webview);
    }
}

private void load_webView() {
    webViewRegion = new MyMapView();
}

对我来说,现在我并不确切知道如何以正确的方式填充RegionWebview,或者是否有更好的方法?

0 个答案:

没有答案