Bonjour,
J'ai un problème avec l'utilisation de l'objet Runtime(). Je ne vais pas poster toutes les lignes de mon code, vu sa longueur, mais voici la partie en question (les noms choisis sont à titre indicatif) :
Et donc, lors de l'appui sur le bouton1, la commande fonctionne et l'action 1 se réalise, mais quand j'appuie sur le bouton2, hormis la propriété "setEnabled", la commande n'est pas exécutée. Mais si j'appuie encore sur le bouton1, cette fois-ci c'est les commandes de l'action2 qui sont exécutées (donc celles d'avant) et pareil, si j'appuie ensuite sur le bouton2, c'est les commandes de l'action 1 qui sont exécutées. Et ça continue ainsi de suite, du coup, chaque bouton exécute l'action de l'autre.
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 Runtime rt = Runtime.getRuntime(); JButton bouton1= new JButton(); JButton bouton2= new JButton(); /* ... quelques lignes de codes... */ public void actionPerformed(ActionEvent e) { if(e.getSource() == bouton1) { action1(); } else { action2(); } } public void action1() { try { rt.exec("ma_commande1"); rt.exec("ma_commande2"); bouton1.setEnabled(false); bouton2.setEnabled(true); } catch (IOException e) { e.printStackTrace(); } } public void action2() { try { rt.exec("ma_commande3"); rt.exec("ma_commande4"); bouton1.setEnabled(true); bouton2.setEnabled(false); } catch (IOException e) { e.printStackTrace(); } }
J'ai fais des recherches sur l'objet Process et Runtime, j'ai testé des choses avec waitFor(), mais ça ne donne rien. Peut-être que la réponse est toute bête ou pas, alors je viens vous demander si vous avez une idée d'où est-ce que cela peut venir.
Merci d'avance !
Partager