Bonjour,

Je lance, depuis le programme en Java, 3 commandes linux, et je voudrais afficher les 3 résultats, mis à jour grâce à un timer, dans 3 jtextfield différent.
Le soucis, c'est que je n'ai que le premier résultat qui s'affiche...
Pas de msg d'erreur, et je ne vois pas pourquoi les autres ne fonctionnent pas.
Si quelqu'un voit mon erreur svp ?

Je suis donc sous linux, avec Netbeans.


Les déclarations :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
Process proc1;
    Process proc2;
    Process proc3;
    BufferedReader entree1;
    BufferedReader entree2;
    BufferedReader entree3;
    String ligne1;
    String ligne2;
    String ligne3;
Le lancement du timer au lancement du programme : t.start();

Et le 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
 
Timer t = new Timer(12000, new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent ev) {
 
            try {
            proc1 = Runtime.getRuntime().exec("acpi -t");
            proc2 = Runtime.getRuntime().exec("top -n1 | grep -w 'Cpu(s)'");
            proc3 = Runtime.getRuntime().exec("top -n1 | grep -w 'Mem'");
 
            entree1 = new BufferedReader(new InputStreamReader(proc1.getInputStream()));
                while ((ligne1 = entree1.readLine()) != null) {
                    jTextField1.setText(ligne1 + "\n");
                }
 
                entree2 = new BufferedReader(new InputStreamReader(proc2.getInputStream()));
                while ((ligne2 = entree2.readLine()) != null) {
                    jTextField2.setText(ligne2 + "\n");
                }
 
                entree3 = new BufferedReader(new InputStreamReader(proc3.getInputStream()));
                while ((ligne3 = entree3.readLine()) != null) {
                    jTextField3.setText(ligne3 + "\n");
                }
 
 
            } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e.toString(), "Problème", JOptionPane.ERROR_MESSAGE);
            }
 
        }
    });


Merci d'avance,
Très cordialement,

ANDRE Ani