Java - JWebBrowser无法加载新点来映射

时间:2016-01-18 08:03:42

标签: javascript java json swing jwebbrowser

我添加到JPanel JWebBrowser。我用js加载html文件,用点坐标加载map和json-file:

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脚本,并且不加载新的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();

1 个答案:

答案 0 :(得分:0)

解决方案(可能对某人有用):

WebServer.stopDefaultWebServer();

没有必要删除JWebBrowser,更好的方法:

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