Starten eines Browser-Fenster von Java WebStart (JNLP) in Java 6u13 +
-
12-09-2019 - |
Frage
Es ist ein Fehler in Java 6u13 und 6u14. http://bugs.sun.com/view_bug.do?bug_id=6835450
Einfach ausgedrückt, wird der folgende Code sollte ein Browser-Fenster öffnen, aber aufgrund eines Fehlers im Rahmen, es blieb in Java 1.6 Update Arbeits 13. Nichts öffnet mehr. Es war ein ähnlicher Fehler für Java-Applets (die 14-Update behoben wurde), aber diese noch existiert in Update 14 für Java WebStart / JNLP.
getAppletContext().showDocument(new URL("http://www.sun.com"),"_blank");
Kennen Sie irgendwelche Abhilfen?
Lösung
Ich habe es nicht in JNLP versucht, aber normalerweise sollte diese Arbeit:
java.awt.Desktop.getDesktop().browse(new URI("http://www.sun.com"));
Andere Tipps
Ist BasicService.showDocument
Arbeit? Ich kann mich nicht daran erinnern, wie die Hand umgesetzt ausgeschaltet ist.
Alternativ LiveConnect- verwenden JavaScript selbst auszuführen (obwohl das in den gleichen Problemen führen könnte).
public boolean openUrl(final URL url) {
try {
// Lookup the javax.jnlp.BasicService object
BasicService bs = (BasicService)javax.jnlp.ServiceManager.lookup("javax.jnlp.BasicService");
// Invoke the showDocument method
return bs.showDocument(url);
} catch(UnavailableServiceException ue) {
// Service is not supported
log.log(Level.WARNING, "Could not open URL " + url, ue);
return false;
}
}