2016-01-18 2 views
0

J'ai ajouté à JPanel JWebBrowser. Je charge des fichiers HTML de js cette carte de charge et JSON-fichier avec des coordonnées des points comme:Java - JWebBrowser ne peut pas charger de nouveaux points à la carte

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

J'ai créé un bouton qui mise à jour JSON fichier et charger de nouvelles coordonnées du point dans ce dossier. Ensuite, j'essaie d'actualiser la page dans le navigateur pour définir de nouveaux points sur la carte, mais jwebbrowser ne met à jour que le fichier html et le script js, et ne charge pas le nouveau fichier json. carte. Si je ferme le programme et que j'ouvre à nouveau - tout va bien, il y a de nouveaux points.

Donc, mon problème: comment charger le fichier json mis à jour avec de nouvelles coordonnées de points?

J'ai essayé ceci:

webBrowser.reloadPage(); 

et j'ai essayé jwebbrowser disposer et la création de nouveaux jwebbrowser, mais tout est sans effet:

  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(); 

Répondre

0

Solution (peut-être pour quelqu'un, il sera utile):

WebServer.stopDefaultWebServer(); 

Il n'est pas nécessaire de supprimer JWebBrowser, mieux:

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