Ouvrir un document en sur un bouton

Signaler
Messages postés
58
Date d'inscription
lundi 10 septembre 2007
Statut
Membre
Dernière intervention
12 février 2011
-
Messages postés
58
Date d'inscription
lundi 10 septembre 2007
Statut
Membre
Dernière intervention
12 février 2011
-
Bonjour !



J’ai une fenêtre qui comporte un bouton et je veux  ouvrir un document (.PDF,.doc, page web) en cliquant sur le  bouton , comment faire ?


Merci d’avance

10 réponses

Messages postés
2333
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
26 juillet 2013
36
Messages postés
134
Date d'inscription
samedi 26 mai 2007
Statut
Membre
Dernière intervention
31 mai 2010
4
voila




/ Les classes nécessaires
import java.awt.Desktop;
import java.io.File;
/**
  * Ouverture d'un fichier avec un logiciel externe.
  * Ceci se base sur la classe java.awt.Desktop
  * Cette classe est disponible actuellement avec la version 6 du JDK
  */
void open (String toOpen) {
    if (toOpen == null)
        throw new NullPointerException ();
    if (!Desktop.isDesktopSupported ())
        return;
    Desktop desktop = Desktop.getDesktop ();
    
    try {
        desktop.open (new File (toOpen));
    }
    catch (Exception e) {
        e.printStackTrace ();
    }    
}


sur le click sur un button




JButton button = new Button("Ouvrir");
btn.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent ae) {
        open("rapport.doc");  
    }
});




RQ: j'ai pas esayer mais il marche a condition que ta jdk 1.6 ou jre 1.6

si ta trouver comment dit le STP
bon courage
Messages postés
58
Date d'inscription
lundi 10 septembre 2007
Statut
Membre
Dernière intervention
12 février 2011

merci pour vos réponses, amine j'ai essayé ton programme sous jdk 1.6 ,la compilation donne aucune erreur mais l'execution affiche cet erreur:
java.lang.IllegalArgumentException: The file: rapport.doc doesn't exist.
 at java.awt.Desktop.checkFileValidation(Desktop.java:191)
 at java.awt.Desktop.open(Desktop.java:252)
 at fa.open(fa.java:100)
 at fa.okButtonActionPerformed(fa.java:109)
................
 sachant que j'ai copié le doc rapport dans le même emplacement du programme.
merci encore une fois.
Messages postés
491
Date d'inscription
samedi 20 mai 2006
Statut
Membre
Dernière intervention
15 juillet 2012
10
Veus-tu essayer une fois ceci:

private void openDocument(final String document) {
    worker = new SwingWorker() {
        @Override
        protected Object doInBackground() throws Exception {
            String documentEditor = "explorer";
            File file = new File(getClass().getResource(document).getPath());
            String cmd = """ + documentEditor + "" "" + file.getAbsolutePath() + """;
            try {
                Runtime.getRuntime().exec(cmd);
            } catch (IOException ex) {
                ex.printStackTrace();
            }
            return null;

        }
    };
    worker.execute();
}
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
26 juillet 2013
36
Salut:

[auteur/UHRAND/779037.aspx uhrand] >> Je ne suis pas d'accord avec toi, sur le fait d'utiliser un code non portable.

[auteur/CHAT11/1144229.aspx chat11] >> Avec quel IDE travailles tu?
Messages postés
491
Date d'inscription
samedi 20 mai 2006
Statut
Membre
Dernière intervention
15 juillet 2012
10
@[auteur/OMBITIOUSDEVELOPPER/237842.aspx Ombitious_Developper] : le problème est, que le code soi-disant "portable" ne fonctionne pas chez moi . Mais le code proposé fonctionne parfaitement sous Windows
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
26 juillet 2013
36
Salut:

C'est étrange, ça marche avec perfection chez moi.

Quelle genre d'exception le programme déclenche?

Cordialement.
Messages postés
491
Date d'inscription
samedi 20 mai 2006
Statut
Membre
Dernière intervention
15 juillet 2012
10
Aucune exception n'est déclenchée. Mais le document "rapport.doc" n'est pas affiché, alors qu'il est bien affiché par l'autre code.
Messages postés
58
Date d'inscription
lundi 10 septembre 2007
Statut
Membre
Dernière intervention
12 février 2011

merci uhrand pour le code ,je l'ai essayé mais il affiche rien ,ni le document ni une exception.
Messages postés
58
Date d'inscription
lundi 10 septembre 2007
Statut
Membre
Dernière intervention
12 février 2011

ombitious> j'utilise l'édieur crimson.