Java - JWebBrowser无法加载新点到地图

Java - JWebBrowser can't load new points to map

本文关键字:新点 地图 加载 JWebBrowser Java      更新时间:2023-09-26

我添加到JPanel JWebBrowser。我用js加载html文件,加载地图和json文件,点坐标为:

webBrowser = new JWebBrowser();
final JPanel webPanel = new JPanel(new BorderLayout());
webPanel.add(webBrowser, BorderLayout.CENTER);
webBrowser.navigate(WebServer.getDefaultWebServer()
          .getClassPathResourceURL(getClass().getName(), "index.html"));

我创建了一个按钮来更新 json 文件并在此文件中加载新的点坐标。然后我尝试在浏览器中刷新页面以在地图上设置新点,但 jwebbrowser 只更新 html 文件和 js-script,并且不加载新的 json 文件,因此旧点在地图上被标记。如果我关闭程序并再次打开 - 一切都很好,有新点。

所以,我的问题:如何使用新的点坐标加载更新的 json 文件?

我试过这个:

webBrowser.reloadPage();

我尝试了 jwebbrowser 处理和创建新的 jwebbrowser,但一切都无效:

            webBrowser.disposeNativePeer();
            webPanel.removeAll();
            webPanel.revalidate();
            webPanel.repaint();
            webBrowser = new JWebBrowser();
            webBrowser.setBarsVisible(false);
            webBrowser.navigate(WebServer.getDefaultWebServer().
                    getClassPathResourceURL(getClass().getName(), "index.html"));
            webPanel.add(webBrowser, BorderLayout.CENTER);
            webPanel.revalidate();
            webPanel.repaint();

解决方案(也许对某人来说会很有用):

WebServer.stopDefaultWebServer();
没有必要

放弃JWebBrowser,更好的方法:

WebServer.stopDefaultWebServer();
WebServer.getDefaultWebServer();
webBrowser.navigate(WebServer.getDefaultWebServer()
                        .getClassPathResourceURL(getClass().getName(), "index.html"));