Javafx WebView 无法正确显示 geoportal.ch 页面(使用 javafx 22、javafx 17.10 测试)

问题描述 投票:0回答:1

它与谷歌地图无关,所有包含任何类型的地图可视化的页面都不会显示这些。但具体如何显示geoportal.ch的内容呢?一堆页面无法正常工作:

geoportal.ch 或者 谷歌地图 或者 打开街道地图

这些页面无法使用,因为缺少地图。

为什么无法使用 Javafx Webview 组件显示带有地图的页面 - 特别是 geoportal.ch?以及如何增强/纠正使其按预期工作?

我的考试:其他问题的答案是说对于谷歌地图的情况,他们从某个 javafx 版本更改了 api。好吧,他们为什么要这么做(之前就有效……)?如果出于某种原因这是真的,为什么其他页面也不显示地图。 SwingNode 与 jcef 结合也不起作用或保密。

所以最后看起来唯一的解决方案就是购买专有软件......这里出了什么问题? Web 是最重要的 - Javafx-Webview 组件半途而废是很奇怪的。多年来。但这与谷歌地图无关,而是与不成熟的 webview 组件有关。也许有人明白为什么地图一般不显示。

我启用了 com.sun.webkit.WebPage.level = FINE 进行日志记录,但这并没有给我解决问题的方法。

演示应用程序:

package com.example.webviewsample;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.scene.layout.BorderPane;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;
import javafx.stage.Stage;

public class WebViewSample extends Application {

    @Override
    public void start(Stage primaryStage) {
        WebView webView = new WebView();
        WebEngine webEngine = webView.getEngine();

        TextField urlField = new TextField("https://www.geoportal.ch/ch/map/40?y=2683332.00&x=1247089.90&scale=2000&rotation=0&topic=property&highlight=1&bfsnr=3203&property=W7391");
        Button goButton = new Button("Go");

        goButton.setOnAction(event -> {
            String url = urlField.getText();
            webEngine.load(url);
        });

        BorderPane root = new BorderPane();
        root.setTop(urlField);
        root.setCenter(webView);
        root.setBottom(goButton);

        Scene scene = new Scene(root, 800, 600);
        primaryStage.setScene(scene);
        primaryStage.setTitle("WebView Sample");
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}
javafx webview
1个回答
0
投票

它仅适用于版本 JDK8u411 和 jfx18。所以最终还是webview组件的bug。我完成了一份错误报告,您现在可以在这里正式找到:

https://bugs.java.com/bugdatabase/view_bug?bug_id=JDK-8331640

© www.soinside.com 2019 - 2024. All rights reserved.