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

avec Java Discussion :

Clic droit ouvrir avec


Sujet :

avec Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 155
    Points : 85
    Points
    85
    Par défaut Clic droit ouvrir avec
    Bonsoir,
    j'aimerais faire un application qui me permettrait d'ouvrir un fichier. L'utilisateur ferait sur le fichier ouvrir avec mon application java...

    Mon application récupère un pdf en base 64 le convertit et retourne le PDF d'origine (avant conversion). Je voudrais pouvoir faire clic droit ouvrir avec mon application sur le pdf en base 64 et que mon PDF d'origine s'ouvre.

    Si quelqu'un a une idée ?

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    sauver le PDF sur le disque, puis faire un Desktop.getDesktop().open(fichier) pour le faire ouvrir avec l'application par défaut.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 155
    Points : 85
    Points
    85
    Par défaut
    Merci pour ta réponse mais en fait je ne sais pas comment faire pour que je puisse faire ouvrir avec mon application. Mon problème n'est pas l'ouverture en lui même du fichier.
    Je voudrais pouvoir faire clic droit ouvrir avec ?
    Est-ce que le fichier est passé en argument de mon main quand on fait clic droit ouvrir avec mon application? Ou est-ce que je dois faire une manipulation pour que mon application prenne en argument le fichier en base 64?

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2007
    Messages : 24
    Points : 30
    Points
    30
    Par défaut
    Bonjour,

    Tout dépend de ton application.
    Il s'agit sans doute d'un application avec une IHM.
    Dans ce cas, tu peux capter le clique droit de la souris avec les événements acc&ssible dans ton API.
    En swing par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    TonComposantQuiContientTonFicher.addMouseListener(new MouseListener()
        {
          public void mouseReleased(MouseEvent e)
        {
          if (e.getButton() == MouseEvent.BUTTON3)
          {
            // Code ici ce qui doit se passer sur clique droit... Ouverture de menu déroulant etc.
          }
     
        }
        });
    En espérant que je parte dans la bonne direction pour t'aider dans ton problème.

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    si vous voulez ouvrir avec votre application les fichier depuis l'explorateur windows, c'est une peu plus compliqué à mettre en place

    D'abord, oui, le nom de fichier sera passé en argument du main.
    La difficulté c'est qu'il faudra dire à votre explorateur d'associer l'extension à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java -jar chemin/vers/votre/application.jar %1

  6. #6
    Membre habitué Avatar de yaraco
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2010
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2010
    Messages : 89
    Points : 150
    Points
    150
    Par défaut
    Ah, j'ai fais ça!

    Pour les extensions sous windows, c'est dans les registres:

    HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes

    Dedans tu rajoutes une clef genre le nom de ton programme.extension.

    Exemple: "Word.doc "

    Et en valeur tu met une chaine qui décrit l'extension.

    Ensuite dans ce nœud, tu crée une clef DefaultIcon et en valeur le chemin absolu vers l'icône associée.

    Au même niveau que DefaultIcon, tu crées une clef "shell" sans aucune valeur.

    Dans shell, tu crées une clef "Open", valeur "Ouvrir"

    Et dans "Open", tu crées la clef "command" avec comme valeur ceci:
    "chemin absolu vers ton exe" "%1"


    Et enfin, tu reviens au même juste en dessous de "Classes" et tu crées une clef au nom de ton extension: ".extension" avec comme valeur le nom de la clef représentant ton programme (dans mon exemple: Word.doc).

    Et vu que ça doit pas être bien clair de suivre ça comme ça, voilà le truc en images:





    Là mon programme est un .exe, mais je ne vois pas de raison à ce que ça ne marche pas avec un .jar. Et au pire il y a un utilitaire sympa qui s'appelle JavaExe pour lancer ton .jar ac un exe.

    Et il y a aussi des outils de déploiement qui proposent plus de facilités pour faire ce genre de choses (genre wix).

    PS: Là c'est ds le cas où tu lies une extension avec un programme. Mais n'hésite pas à regarder d'autres extension. Je vois par exemple sur mon pc pour le .doc une clef: OpenWithList. A utiliser je pense.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    299
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 299
    Points : 422
    Points
    422
    Par défaut
    Au cas ou cela intéresse quelqu'un, voici une méthode pour faire la même chose sur mac os X.

    Déjà, le .jar est exécutable mais n'est pas reconnu comme une application, il n'est donc pas possible de faire un "ouvrir avec" et de sélectionner un .jar.

    L'astuce que j'utilise est de passer par un lanceur en AppleScript, que l'on enregistre en tant qu'application.
    Cette solution permet aussi de déposer l'application dans le dock, chose non possible avec le .jar directement.

    Voici un exemple simple :
    Code Java :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    package fvt.pressed;
     
    import javax.swing.JOptionPane;
     
    public class OuvrirAvec {
    	public static void main(String[] args) {
    		if(args.length==0){
    			JOptionPane.showMessageDialog(null, "Pas d'arguments");			
    		}else{
    			JOptionPane.showMessageDialog(null, args[0]);						
    		}
    	}
    }
    Lanceur AppleScript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    on open names
    	set f to item 1 of names
     
    	tell application "Finder"
    		do shell script "cd '/Acces/au/jar/'; java -jar 'OuvrirAvec.jar' '" & f & "'"
    	end tell
    end open
    Cela fonctionne avec "Ouvrir avec..." mais aussi en tant que Droplet (en faisant glisser le fichier à ouvrir sur l'icone du lanceur)

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Août 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 155
    Points : 85
    Points
    85
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    si vous voulez ouvrir avec votre application les fichier depuis l'explorateur windows, c'est une peu plus compliqué à mettre en place

    D'abord, oui, le nom de fichier sera passé en argument du main.
    La difficulté c'est qu'il faudra dire à votre explorateur d'associer l'extension à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java -jar chemin/vers/votre/application.jar %1
    Si on choisit sur Windows ouvrir avec et que l'on choisit notre application (.exe issus du jar) on peut le garder en mémoire pour la prochaine ouverture. Cela me va très bien le seul inconvénient est que si mon fichier est dans le chemin C:\Documents and Settings\.... cela ne fonctionne pas. Avez vous une idée ?

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Août 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 155
    Points : 85
    Points
    85
    Par défaut
    C'est bon j'ai trouvé en fait args[0] avait pour valeur "C:\Documents" et args[1] avait pour valeur "and" et ainsi de suite donc mon chemin récupéré en argument via le clic droit ouvrir avec n'etait pas bon c'est rectifié donc merci pour votre aide...


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ajouter "ouvrir avec" dans le clic droit sur une URL
    Par Loko dans le forum Lotus Notes
    Réponses: 4
    Dernier message: 18/03/2015, 21h33
  2. Réponses: 1
    Dernier message: 02/10/2009, 00h17
  3. [JTree] Sélection avec clic droit ?
    Par Pill_S dans le forum Composants
    Réponses: 3
    Dernier message: 27/02/2009, 18h04
  4. Problème Clic droit avec Explorateur Windows
    Par blandinais dans le forum Windows XP
    Réponses: 6
    Dernier message: 07/11/2006, 10h08
  5. Problème avec le clic droit
    Par nebule dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 20/10/2004, 16h29

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