Bonjour !

La JDK 6.0 intègre des fonctionnalités Desktop portable, en s'inspirant de la librairie JDIC.

Cela me convient puisque j'emploie ces nouvelles capacités pour gérer une TrayIcon et faire appel à mon navigateur web par défaut pour lancer une page web.

Voici le code qui lance une page web avec le navigateur par défaut, via la JDK 6.0, sans utiliser la librairie JDIC :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
if (Desktop.isDesktopSupported()) 
		{
			Desktop desktop = Desktop.getDesktop();
 
            URI uri = null;
            try 
            {
                uri = new URI("https://www.google.fr");
                desktop.browse(uri);
            }
            catch(IOException ioe) 
            {
                ioe.printStackTrace();
            }
            catch(URISyntaxException use) 
            {
                use.printStackTrace();
            }
        }
C'est assez simple en soit, et c'est performant.

Mon soucis c'est que je souhaite spécifier le navigateur FireFox comme navigateur à utiliser, dans aller modifier le registre pour le mettre comme navigateur par défaut (Mon application devant être déployée sur plus de 300 postes... ).

Pour ce faire, j'ai trouvé un petit bout de code sur la FAQ JDIC :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
BrowserEngineManager bem = BrowserEngineManager.instance();
        bem.setActiveEngine(BrowserEngineManager.MOZILLA);
        IBrowserEngine be = bem.getActiveEngine();
        //the path that constains xpcom.dll
        be.setEnginePath("d:\\mozilla\\bin\\mozilla.exe");
        //For IE, setActiveEngine is enough
        //bem.setActiveEngine(BrowserEngineManager.IE);
 
        final WebBrowser webBrowser = be.getWebBrowser();
        try
        {
            webBrowser.setURL(new URL("http://www.google.com"));
        } 
        catch (MalformedURLException e) {
            e.printStackTrace();
        }
Malheureusement je ne parviens ni à le faire fonctionner (BrowserEngineManager n'est pas reconnu), ni à trouver un équivalant sur les fonctionnalités incluses dans la JDK6.0.

Quelqu'un s'est-il déjà confronté à ce problème ?

Toute aide est, bien entendue, la bienvenue
Merci à vous