Lancer un .bat à partir d'une interface graphique [Résolu]

Messages postés
13
Date d'inscription
lundi 14 juillet 2008
Dernière intervention
22 juillet 2008
- 15 juil. 2008 à 17:02 - Dernière réponse :
Messages postés
13
Date d'inscription
lundi 14 juillet 2008
Dernière intervention
22 juillet 2008
- 16 juil. 2008 à 13:28
Bonjour à tous!
je voulais savoir comment est ce qu'on lance un executable sous java, sous une interface graphique, afin de repartir sur ma console grâce au .bat...

d'ailleurs, pourriez vous me dire quelle est l'erreur dans mon code svp? avec celui-ci, je retourne à la console et le bouton ne disparait qu'à la fin de la simulation...
public

void actionPerformed(ActionEvent e){

if(e.getSource()==
bouton_start){

panel.remove(
bouton_start);

panel.setEnabled(
false);

lancer_simulation();

}

}

merci de vos reponses :)
Afficher la suite 

Votre réponse

13 réponses

Meilleure réponse
Messages postés
764
Date d'inscription
jeudi 27 juillet 2006
Dernière intervention
6 septembre 2010
- 16 juil. 2008 à 13:14
3
Merci
de rien..

tu peux essayer de faire java.awt.Desktop.getDesktop().open("tonfichier.bat");

Merci cs_Chatbour 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de cs_Chatbour
Messages postés
764
Date d'inscription
jeudi 27 juillet 2006
Dernière intervention
6 septembre 2010
- 16 juil. 2008 à 10:01
0
Merci
Salut,

Runtime.getRuntime().exec(...);

http://ydisanto.developpez.com/tutoriels/j2se/runtime/
Commenter la réponse de cs_Chatbour
Messages postés
5292
Date d'inscription
dimanche 4 mai 2003
Dernière intervention
12 novembre 2018
- 16 juil. 2008 à 10:09
0
Merci
Salut,

"je voulais savoir comment est ce qu'on lance un executable sous java,
sous une interface graphique, afin de repartir sur ma console grâce au
.bat..."
>> recherche dans le forum et les sources du site il y a la réponse...

"d'ailleurs, pourriez vous me dire quelle est l'erreur dans mon code
svp? avec celui-ci, je retourne à la console et le bouton ne disparait
qu'à la fin de la simulation..."
>> Ici, tant que tu es dans le 'if' tu es dans le main-thread donc tu n'auras rien avant de finir ton traitement... une solution serait de détacher le traitement dans un Thread...

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
Commenter la réponse de Twinuts
Messages postés
13
Date d'inscription
lundi 14 juillet 2008
Dernière intervention
22 juillet 2008
- 16 juil. 2008 à 12:23
0
Merci
Twinuts, excuse moi mais avant de poser la question j'avais deja essaye les propositions sur le forum et ca ne fonctionnait pas :$ je ne me serai pas permise de vous déranger sinon...mais concernant l'histoire du thread tu as raison :)

chatbour, effectivement c'est la commande que j'ai lue mais elle ne fonctionne pas chez moi...je pense que mon problème vient du fait que mon fichier .bat utilise pour la compilation des classes qui sont dans d'autres dossiers etc..toujours une histoire de chemin....


 


merci pour vos reponses, je suis rassurée :)
Commenter la réponse de agita
Messages postés
764
Date d'inscription
jeudi 27 juillet 2006
Dernière intervention
6 septembre 2010
- 16 juil. 2008 à 12:25
0
Merci
c'est un fichier .bat alors essayes :

Runtime.getRuntime().exec("cmd /c tonfichier.bat");
Commenter la réponse de cs_Chatbour
Messages postés
13
Date d'inscription
lundi 14 juillet 2008
Dernière intervention
22 juillet 2008
- 16 juil. 2008 à 12:37
0
Merci
hum :S
non plus...pourtant ca marche tres bien quand je lance la mm commande (cad cmd /c monfichier.bat) dans l'invite de commande et mon fichier se trouve bien a la racine de mon projet....
Commenter la réponse de agita
Messages postés
764
Date d'inscription
jeudi 27 juillet 2006
Dernière intervention
6 septembre 2010
- 16 juil. 2008 à 12:45
0
Merci
une petite erreur : /k au lieu de /c mais ça change rien ici : étrange :O
Commenter la réponse de cs_Chatbour
Messages postés
13
Date d'inscription
lundi 14 juillet 2008
Dernière intervention
22 juillet 2008
- 16 juil. 2008 à 12:50
0
Merci
je l'ai mis pour l'action d'un bouton..ca ne devrait rien changer non?
voila le code de la fonction :

public
void actionPerformed(ActionEvent e){

if(e.getSource()==
bouton_start){

panel.remove(
bouton_start);

panel.setEnabled(
false);

try {

Runtime.getRuntime().exec(

"cmd /k bancdetest_console.bat");}

catch (IOException e1) {

// TODO Auto-generated catch blocke1.printStackTrace();

}

label.setText(
"La simulation est terminée");

panel.add(
label);

//lancer_simulation();

}

}

je voulais le faire en attendant que ce soit presentable avec la version graphique....
Commenter la réponse de agita
Messages postés
764
Date d'inscription
jeudi 27 juillet 2006
Dernière intervention
6 septembre 2010
- 16 juil. 2008 à 13:02
0
Merci
Si tu veux juste aller à la console tu peux faire :

// à partir de la version 6 du JDK
java.awt.Desktop.getDesktop().open(new java.io.File("C:/WINDOWS/system32/cmd.exe"));
Commenter la réponse de cs_Chatbour
Messages postés
13
Date d'inscription
lundi 14 juillet 2008
Dernière intervention
22 juillet 2008
- 16 juil. 2008 à 13:10
0
Merci
jaurai prefere que le fichier .bat se lance, ca eviterait de devoir changer de chemin quand on sera dans la console etc :$
tant pis je ferai sans, il va falloir que je finisse la version graphique le plus tot possible.
merci ;)
Commenter la réponse de agita
Messages postés
13
Date d'inscription
lundi 14 juillet 2008
Dernière intervention
22 juillet 2008
- 16 juil. 2008 à 13:24
0
Merci
ca marche :D
thks ;)

et si on veut changer de dossier, cad ouvrir un fichier qui nest pas dans la racine du projet c possible?
Commenter la réponse de agita
Messages postés
764
Date d'inscription
jeudi 27 juillet 2006
Dernière intervention
6 septembre 2010
- 16 juil. 2008 à 13:26
0
Merci
Dans ce cas tu dois spécifier le chemin en plus : c'est pas bien pour la portabilité :(
Commenter la réponse de cs_Chatbour
Messages postés
13
Date d'inscription
lundi 14 juillet 2008
Dernière intervention
22 juillet 2008
- 16 juil. 2008 à 13:28
0
Merci
oui c sur....
en tout cas, un probleme de réglé grace à toi
Commenter la réponse de agita

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.