إطلاق نافذة متصفح من Java Webstart (JNLP) في Java 6U13 +

StackOverflow https://stackoverflow.com/questions/1119591

  •  12-09-2019
  •  | 
  •  

سؤال

هناك خطأ في Java 6u13 و 6u14.http://bugs.sun.com/view_bug.do؟bug_id=6835450.

ببساطة، من المفترض أن يفتح التعليمة البرمجية التالية فتح نافذة متصفح، ولكن نظرا لعلة في الإطار، توقف عن العمل في Java 1.6 Update 13. لا شيء يفتح بعد الآن. كان هناك خطأ مماثل ل Java Applets (تم إصلاحه في التحديث 14)، ولكن هذا واحد لا يزال موجودا في تحديث 14 ل Java Webstart / JNLP.

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

هل تعرف أي حلول؟

هل كانت مفيدة؟

المحلول

لم أحاول ذلك في JNLP، ولكن عادة ما يجب أن يعمل هذا:

java.awt.Desktop.getDesktop().browse(new URI("http://www.sun.com"));

نصائح أخرى

هل BasicService.showDocument الشغل؟ لا أستطيع أن أتذكر كيف يتم تنفيذها خارج اليد.

بدلا من ذلك، استخدم LiveConnect لتنفيذ Javascript بنفسك (على الرغم من أنه قد يعمل في نفس المشكلات).

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;
    }       
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top