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

Langage Java Discussion :

impossible de lancer une appli externe


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2011
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 57
    Par défaut impossible de lancer une appli externe
    bonjour a tous,

    mon ptit probleme et que j'essaie de lancer une invite de commande depuis mon programme java. Je sais que j'ai réussi il y a longtemps mais je trouve pu mon code donc j'ai essayer un nouveau, tout bete! sa fonctionne pas, aurais je oublié un truc ? 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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    package flux;
    import javax.swing.*;
    import javax.swing.event.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.io.File;
    import java.io.IOException;
     
    /**
     *
     * @author er82467
     */
    public class invit_commande extends JFrame {
     
        public static int x[]={1,2};
        public static int y[]={1,2};
        public static int La[]={1,2};
        public static int Lo[]={1,2};
     
        private JButton Buzz;
     
        public invit_commande(){
     
                 setTitle("Répertoire Lancement Nastran");
                 setSize(300,300); // x  puis y
                 setLocationRelativeTo(null);
                 setResizable(false);
                 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
                 Container PLance = getContentPane();
                 PLance.setLayout(new  FlowLayout());
     
                 GridBagLayout grille = new GridBagLayout();
                 PLance.setLayout(grille);
     
                 // contraintes de grille pour le texte
                 GridBagConstraints cm1 = new GridBagConstraints();
     
                 cm1.fill = GridBagConstraints.BOTH;
                 cm1.gridx=x[0];
                 cm1.gridy=y[0];
                 cm1.insets = new Insets(5,5,5,15);//marge de 5 en ht,bs,gh,dt
                 cm1.gridwidth=La[0];
                 cm1.gridheight=Lo[0];
     
                 Buzz = new JButton("démarrer invite de commande");
                 PLance.add(Buzz,cm1);
                 Buzz.addActionListener(new Action());
     
     
        }
     
        class Action implements ActionListener{
     
            public void actionPerformed(ActionEvent e){
             Runtime runtime = Runtime.getRuntime();
             String s = File.separator;
    final Process process runtime.exec(String[]{"C:"+s+"WINDOWS"+s+"system32"+s+"cmd.exe" }); // C'est ici que se produit l'erreur !
    }
    }
    }
    et mon main est tout bete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public class Flux 
    public static void main(String[] args) throws IOException {
    invit_commande bloc = new invit_commande();
            bloc.setVisible(true);
     
     
     
     
        }
    }
    des suggestions?

  2. #2
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Par défaut
    bon déjà, on peut simplifier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Process process = Runtime.getRuntime().exec("cmd.exe");
    là on n'a pas d'erreur,
    mais on n'a pas grand chose non plus

    Le but c'est d'ouvrir une fenêtre DOS ?
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2011
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 57
    Par défaut
    comme j'ai dit c'est tout bête aprés je vais faire d'autres trucs mais mon ide m'envoit balader et je ne sais pas pourquoi !? j'utilise netbeans 7.1.1

  4. #4
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Par défaut
    Netbeans t'envoie promener à juste titre car ton code ne compile pas :
    1) tu as oublié le signe "=" pour affecter une valeur à ta variable "process"
    2) tu as oublié d'instancier le tableau avec "new" (le tableau est un objet qu'il faut instancier)
    il faut écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    final Process process = runtime.exec(new String[]{"C:"+s+"WINDOWS"+s+"system32"+s+"cmd.exe" });
    et comme je le disais précédemment, tu obtiens la même chose avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Process process = Runtime.getRuntime().exec("cmd.exe");
    Cela dit, je ne comprends pas le but de l'opération.
    cmd.exe sera lancé, puis va s’arrêter et finalement n'aura rien fait.
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2011
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 57
    Par défaut
    bah que j'ai eu fait une erreur en recopiant c'est possible je l'avoue ! mais même t'es deux codes ne marche pas même si je persuadais que sa devrait!

    aprés la finaliter de faire sa , c'est depuis l'invite de commande, d'executer un telnet sur un serveur particulier et de dialoguer avec lui . voila !

    voici l'erreur qui m'affiche a la compilation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: Uncompilable source code - unreported exception java.io.IOException; must be caught or declared to be thrown
    	at flux.invit_commande$Action.actionPerformed(invit_commande.java:64)
    	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
    	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
    	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
    	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
    	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
    	at java.awt.Component.processMouseEvent(Component.java:6288)

    si je mets un try{} catch(IOException ev){} j'ai plus d'erreurs mais mon invite ne s'ouvre toujours pas peut etre que sa fonctionne et qui me manque une commande pour l'afficher?

  6. #6
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Par défaut
    si je mets un try{} catch(IOException ev){} j'ai plus d'erreurs
    ben oui puisque runtime.exec envoie une exception !!!

    par ailleurs runtime n'est pas un shell windows. Il est capable d'exécuter quelque chose avec le système mais n'ouvre pas forcément de fenêtre.

    voir :
    http://ydisanto.developpez.com/tutor...ntime-exec/#LV

    par ailleurs google met dit qu'il existe des commandes TelNEt depuis Java.
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  7. #7
    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
    Citation Envoyé par pharsales Voir le message
    si je mets un try{} catch(IOException ev){}
    On traite TOUJOURS une exception. Ca ne sert à rien de faire l'autruche!

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

Discussions similaires

  1. Impossible lancer une appli sur Seven 64 .
    Par sabredebois dans le forum Windows 7
    Réponses: 53
    Dernier message: 30/08/2011, 09h09
  2. impossible à lancer une appli sur click
    Par grimberman dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 29/05/2008, 15h02
  3. [Système][Runtime]J'arrive pas à lancer une appli externe !?!
    Par polnioumane dans le forum Général Java
    Réponses: 6
    Dernier message: 16/11/2005, 18h55
  4. Récupérer le Handle d'une Appli externe
    Par luxprog dans le forum Windows
    Réponses: 15
    Dernier message: 29/04/2004, 13h47
  5. lancer une appli a travers une autre appli
    Par tazamorte dans le forum C++Builder
    Réponses: 3
    Dernier message: 16/04/2004, 11h08

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