Java - JWebBrowser 无法加载新的地图点
Java - JWebBrowser can't load new points to map
我添加到 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-脚本,并且不加载新的 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"));
我添加到 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-脚本,并且不加载新的 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"));