IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Agents de placement/Fenêtres Java Discussion :

Desktop browse n'affiche rien


Sujet :

Agents de placement/Fenêtres Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 7
    Par défaut Desktop browse n'affiche rien
    Bonjour,
    je suis confronté à un problème d'affichage.
    Je désire afficher a l'écran un fichier html via le navigateur par defaut, or en utilisant la fonction browse de java.awt.Desktop rien de ne se passe.
    Voici mon code:
    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
    20
    21
    22
    23
    24
    25
    26
     
    public void openURI(final URI uri) {
            if (Desktop.isDesktopSupported() && Desktop.getDesktop().isSupported(Action.BROWSE)) {
                try {
                    Desktop.getDesktop().browse(uri);
                } catch (IOException e) {
                    openFileWithUserNavigator(uri);
                }
            } else {
                openFileWithUserNavigator(uri);
            }
        }
     
    private void openFileWithUserNavigator(final URI uri) {
            if (defaultNavigator == null || defaultNavigator.isEmpty()) {
                setStatusMessage("Pas de navigateur définit.");
                return;
            }
     
            try {
                ProcessBuilder builder = new ProcessBuilder(defaultNavigator, uri.toString());
                builder.start();
            } catch (IOException e) {
                setStatusMessage("Erreur lors du lancement du navigateur.");
            }
        }
    J'utilise des préférences utilisateurs dans certains cas, dans lesquelles je définis mon chemin vers le navigateur par défaut (defaultNavigator = "C:\Program Files\...\chrome.exe".

    Le problème est dans le test avant de faire le "browse" car celui ci est valide donc je fait appel au browse qui ne fonctionne pas dans mon cas. Par contre si a la place je fais directement appel à ma méthode openFileWithUserNavigator alors dans ce cas là j'affiche bien mon fichier html via mon navigateur par défaut.
    Une idée sur le test a rajouter afin de bascule dans la partie "else" ?

  2. #2
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 312
    Par défaut
    Bonjour,
    J'ai testé cela chez moi sous Mac et ça fonctionne. Il manquait un Desktop devant Action car la classe c'est Desktop.Action
    J'ai mis en remarque les lignes qui envoient sur la 2ieme methode afin d'être sur qu'il utilise Browse :

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    import java.net.*;
    import java.awt.*;
    import java.io.*;
     
     
    public class OuvrirSafari {
     
    	String defaultNavigator = "/Applications/Safari.app";
     
    	public static void main(String[] args) {
     
    		OuvrirSafari os = new OuvrirSafari();
    	}
     
    	public OuvrirSafari() {
    		try{
    			openURI(new URI("http://www.google.com"));
    		}
    		catch(URISyntaxException e) {}
    	}
     
    	public void openURI(final URI uri) {
            	if (Desktop.isDesktopSupported() && Desktop.getDesktop().isSupported(Desktop.Action.BROWSE)) {
            		try {
                    		Desktop.getDesktop().browse(uri);
                    	} catch (IOException e) {
                    		//openFileWithUserNavigator(uri);
                    	}
                    } else {
                    	//openFileWithUserNavigator(uri);
                    }
            }
     
            private void openFileWithUserNavigator(final URI uri) {
            	if (defaultNavigator == null || defaultNavigator.isEmpty()) {
            		System.out.println("Pas de navigateur définit.");
            		return;
            	}
     
            	try {
            		ProcessBuilder builder = new ProcessBuilder(defaultNavigator, uri.toString());
            		builder.start();
            	} catch (IOException e) {
            		System.out.println("Erreur lors du lancement du navigateur.");
            	}
            }
    }

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 7
    Par défaut
    Merci pour la réponse, j'ai bien reporté ta modif dans mon code mais malheureusement ça ne change rien chez moi, je dois avoir une config pourrie.
    La condition du "if" est valide donc je fais appel au "browse" qui ne provoque rien (rien ne s'ouvre ou s'affiche) et ne renvoi pas d'exception.

  4. #4
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 312
    Par défaut
    Re bonjour,
    Je viens d'essayer le programme que je t'ai proposé sur PC.
    defaultNavigator = "C:\Program Files\...\chrome.exe" ne fonctionne pas, il faut remplacer les "\" par des "/" et là ça fonctionne, enfin chez moi ça fonctionne.

  5. #5
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    si le browse ne marche pas, c'est vraisemblablement que le navigateur n'est pas configuré correctement sur l'os. Si tu tappe l'url de la page web dans le menu démarrer, ça ouvre bien le navigateur?

Discussions similaires

  1. Boot mais n'affiche rien
    Par log2n dans le forum Assembleur
    Réponses: 28
    Dernier message: 03/11/2005, 21h16
  2. Mon programme n'affiche rien!!!!
    Par matthieu5978 dans le forum Langage
    Réponses: 1
    Dernier message: 03/11/2005, 11h28
  3. pourquoi mon quickreport n'affiche rien ?
    Par bertrand_declerck dans le forum Bases de données
    Réponses: 8
    Dernier message: 31/07/2005, 00h59
  4. [LG]Programme qui n'affiche rien
    Par ousunas dans le forum Langage
    Réponses: 4
    Dernier message: 17/02/2004, 19h38
  5. Opengl n'affiche rien.
    Par Fugus02 dans le forum OpenGL
    Réponses: 4
    Dernier message: 06/01/2004, 15h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo