2009-12-04 5 views
0

J'essaie d'utiliser le FileOpenSerivce, mais je reçois toujours une exception UnaivableServiceException indépendamment du fait que je l'exécute à partir d'Eclipse, ou de mon serveur web local en utilisant le fichier jnlp. J'utilise un pot non signé, qui d'après ce que je comprends est ok.jnlp exception de service indisponible

J'ai un débogueur connecté, et lors de l'exécution sous Webstart, tout semble bien se passer. Je cherche à obtenir fileContents comme ceci:

FileContents fileContents = fileOpenService.openFileDialog(null, null); 

Je ne vois jamais une boîte de dialogue et fileContents est toujours nulle.

Merci!

+0

poster le stacktrace affiché par java webstart – OscarRyz

+0

Je ne reçois aucune sorte de stacktrace de Webstart. Mon application se bloque juste. Je reçois le UnaivableServiceException: unititialized de l'exécuter à partir d'Eclipse, qui ne l'exécute pas sous Java Webstart. Cela a donc du sens. On me demande si je veux que l'application accède aux fichiers sur mon ordinateur, et que rien. Aucune boîte de dialogue de fichier ou quoi que ce soit. – Casey

Répondre

0

Donc, tout cela était un problème de threading. Dans ma classe principale, Mainframe, ma principale méthode était

public static void main (String[] args) { 
    new MainFrame(); 
} 

Je l'ai remplacé par ceci:

javax.swing.SwingUtilities.invokeLater(new Runnable() { 
     public void run() { 
      new MainFrame(); 
     } 
    }); 

Et tout fonctionne bien maintenant.