我加入了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-file和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();发布于 2016-01-18 09:14:35
解决方案(可能对某人有用):
WebServer.stopDefaultWebServer();没有必要放弃JWebBrowser,更好的方法是:
WebServer.stopDefaultWebServer();
WebServer.getDefaultWebServer();
webBrowser.navigate(WebServer.getDefaultWebServer()
.getClassPathResourceURL(getClass().getName(), "index.html"));https://stackoverflow.com/questions/34849795
复制相似问题