Bonjour à tous,
Je développe une appli sous Java SE 6.0
Parmis les nouveauté de java 6, figure la classe Desktop permettant entre autre, d'accéder à une page web via le navigateur par défaut du système.
Cela m'est utile pour proposer de visiter un site web dans le menu de l'appli.
Et cela fonctionne à merveille. SAUF : quand je refuse que javaw.exe communique avec Internet (c'est à dire que lorsque mon Firewall me demande si il doit ou non autoriser la communication, je clic NON). L'application alors se fige complétement et indéfiniment, et il faut carrément tuer le process. Aucune Exception n'est levé et après lecture des spécifications de Sun, je n'est rien trouvé. La demo qu'il ont mis en téléchargement produit d'ailleurs le même effet : [url]http://java.sun.com/developer/technicalArticles/J2SE/Desktop/javase6/desktop_api/[/url]
Quelqu'un aurait-il trouvé une solution pour éviter ce plantage ?
Mon os est Windows Xp, service pack 2.
Je précise que :
Desktop.isDesktopSupported() me renvoie TRUE
et
desktop.isSupported(Desktop.Action.BROWSE) me renvoie TRUE
Voici le code:
URI uri = null;
try {
uri = new URI("http://java.sun.com/");
Desktop desktop = Desktop.getDesktop();
if (desktop != null & uri != null) {
try {
desktop.browse(uri);
}
catch (UnsupportedOperationException e1) {
e1.printStackTrace();
}
catch (IOException e1) {
e1.printStackTrace();
}
catch (SecurityException e1) {
e1.printStackTrace();
}
catch (IllegalArgumentException e1) {
e1.printStackTrace();
}
}
}
catch (URISyntaxException e2) {
e2.printStackTrace();
}