Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Java-JWebBrowser可以';t将新点加载到地图_Javascript_Java_Json_Swing_Jwebbrowser - Fatal编程技术网

Javascript Java-JWebBrowser可以';t将新点加载到地图

Javascript Java-JWebBrowser可以';t将新点加载到地图,javascript,java,json,swing,jwebbrowser,Javascript,Java,Json,Swing,Jwebbrowser,我加入了JPanel。我用js加载html文件,js加载地图和json文件,点坐标如下: webBrowser = new JWebBrowser(); final JPanel webPanel = new JPanel(new BorderLayout()); webPanel.add(webBrowser, BorderLayout.CENTER); webBrowser.navigate(WebServer.getDefaultWebServer() .getClas

我加入了JPanel。我用js加载html文件,js加载地图和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脚本,不加载新的json文件,因此地图上标记了旧点。如果我关闭程序并再次打开-一切正常,就会有新的点

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

我试过这个:

webBrowser.reloadPage();
我试着处理和创建新的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();
解决方案(可能对某些人有用):

没有必要放弃JWebBrowser,更好的方式:

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