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

API standards et tierces Java Discussion :

Classe Desktop Probleme


Sujet :

API standards et tierces Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 105
    Par défaut Classe Desktop Probleme
    Bonjour,

    j'essaye de lancer un fichier lorsque l'utilisateur clique deux fois dessus dans un champ de JTable, au depart j ai utilise la classe Process avec son runtime.

    J'ai bien evidemment ete confronte au probleme connu des espaces:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    //Process child = Runtime.getRuntime().exec(new String[]{"cmd", "/c", "start", file.toURI().toString()});
    Si j'utilise le URI, les fichiers se lancent, espaces ou pas espaces a l exception du Windows Picture & Fax Viewer. Si j'essaye de lancer un jpg, l'application s'ouvre et se ferme instantanement.

    si j'utilise /K, la ca resoud le probleme mais a chaque ouverture de fichier, windows a un process cmd.exe de plus... ce n'est pas l'ideal non plus.

    Enfin, si j'utilise betement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Process child2 = Runtime.getRuntime().exec(new String[]{"cmd", "/c", "start", file.getAbsolutePath()});
    La, les jpg s'ouvrent parfaitement mais les fichiers avec des espaces me donnent une belle ouverture du cmd et rien d'autre.

    Apres diversers lecture, je suis tombe sur la classe Desktop, j'essaye une bete application et rien ne se passe, meme pas d'exception:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if(Desktop.isDesktopSupported()) {
        Desktop test = Desktop.getDesktop();
        System.out.println(test.isSupported(Desktop.Action.OPEN));
        test.open(file));
    }
    Si quelqu'un peut m'eclaircir sur ce dernier point ou a une solution avec la le runtime, je lui en serai infiniment reconnaissant

    Merci et bonne journee !

    Antoine.

  2. #2
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Par défaut
    Peut-être que Desktop n'est pas supporté par ton OS. Essaye en rajoutant un else à ton if pour voir si cela affiche quelque chose :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if(Desktop.isDesktopSupported()) {
        Desktop test = Desktop.getDesktop();
        System.out.println(test.isSupported(Desktop.Action.OPEN));
        test.open(file));
    } else {
        System.out.println("Unsupported Desktop");
    }
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster ;) (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag :resolu:

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 105
    Par défaut
    Bien j'utilise Windows XP.... et j'ai deja fait le test et il me renvoit true... je suis despespere la, j ai cru voir des gens qui ont le meme probleme que moi mais sans reponses...

    Le pire, c est que j'utilise l exemple de sun avec la class Desktop, le browser marche, mais pas les fonction open, edit ou print... Aucune erreure, que du vent. En revanche, si j essaye d utiliser open avec un objet File qui est en fait un repertoire, ca marche.... A n y rien comprendre.

Discussions similaires

  1. [Desktop] Probleme impression fichier
    Par skyangel dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 12/08/2008, 08h54
  2. ouvrir un fichier avec la classe Desktop
    Par Bloodista dans le forum Général Java
    Réponses: 2
    Dernier message: 23/04/2008, 17h32
  3. [Tomcat 6.0]Problème avec la classe Desktop
    Par el_mosquito dans le forum Tomcat et TomEE
    Réponses: 8
    Dernier message: 06/09/2007, 15h20
  4. Réponses: 6
    Dernier message: 28/12/2006, 18h22
  5. Réponses: 13
    Dernier message: 02/02/2005, 00h21

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