Запуск окна браузера из Java WebStart (JNLP) в Java 6u13 + - PullRequest
1 голос
/ 13 июля 2009

В Java 6u13 и 6u14 есть ошибка. http://bugs.sun.com/view_bug.do?bug_id=6835450

Проще говоря, следующий код должен открывать окно браузера, но из-за ошибки в фреймворке он перестал работать в Java 1.6 update 13. Больше ничего не открывается. Была похожая ошибка для апплетов Java (которая была исправлена ​​в обновлении 14), но эта проблема все еще существует в обновлении 14 для Java WebStart / JNLP.

getAppletContext().showDocument(new URL("http://www.sun.com"),"_blank");

Знаете ли вы какие-нибудь обходные пути?

Ответы [ 3 ]

4 голосов
/ 13 июля 2009

Я не пробовал это в JNLP, но обычно это должно работать:

java.awt.Desktop.getDesktop().browse(new URI("http://www.sun.com"));
0 голосов
/ 19 февраля 2010
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;
    }       
}
0 голосов
/ 13 июля 2009

Работает ли BasicService.showDocument? Я не могу вспомнить, как это реализовано от руки.

Либо используйте LiveConnect для самостоятельного выполнения JavaScript (хотя это может привести к тем же проблемам).

...