[interface graphique][thread]

perechev Messages postés 6 Date d'inscription jeudi 22 janvier 2004 Statut Membre Dernière intervention 18 avril 2005 - 4 mai 2004 à 10:21
ModeH Messages postés 5 Date d'inscription mardi 27 septembre 2005 Statut Membre Dernière intervention 30 septembre 2005 - 27 sept. 2005 à 12:41
Salut,
voila j'ai deux petits problemes.

1) Dans un fichier, je fais appel à la fonction
Fenetrechoix fonc = new Fenetrechoix();
fonc.show();

cette fonction me crée une fenetre dans laquelle je
dois cocher une case.

mon probleme est que ma fenetre s'ouvre mais le
fichier principal continue a s'executer. Que dois je
faire pour que l'execution attende la reponse que je
coche.
2) deuxieme pb:

dans mon fichier principal, le fais appel à la
fonction :
LancePgmCaml monLanceur = new LancePgmCaml();
dont le code est le suivant:

--------------------------------------
import java.lang.*;
import java.io.*;

public class LancePgmCaml {

public LancePgmCaml(){ //constructeur

Runtime monRuntime=Runtime.getRuntime();

try{

Process monProcess=monRuntime.exec("./scr");

monProcess.waitFor();

}//fin du try

catch (Exception e) {

System.out.println("Erreur d'ecriture");
System.exit(1);

}//fin du catch

}//fin du constructeur

}// fin du public class LancePgmCaml
-------------------------------------------
et l'executable scr contient:
-----------------------
#!/bin/sh

echo "timetable x?\n n\n :q;;" | ./reecriture
hopital.txt > solutionPlanning.txt
---------------------------------------
avec reecriture qui est mon moteur.

à la fin de cet execution, le moteur me pose une
question a laquelle je répond en ouvrant une fenetre.
mais je ne sais pas comment je peux donner cette
réponse a mon moteur.
Si certain pense comment pouvoir faire, faite moi un
signe.
marci d'avance.

2 réponses

kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
4 mai 2004 à 11:01
Salut,

1) pour afficher une frame il faut utiliser setVisible(true). Normalement la ligne suivante n'est pas exécutée tant que la frame est affichée.

2) pour écrire sur l'entré standard du process il faut récupérer le flux correspondant grâce à monProcess.getOutputStream(). Il faudra peut être faire un autre thread pour ceci
0
ModeH Messages postés 5 Date d'inscription mardi 27 septembre 2005 Statut Membre Dernière intervention 30 septembre 2005
27 sept. 2005 à 12:41
kirua12 : 1) pour afficher une frame il faut utiliser setVisible(true). Normalement la ligne suivante n'est pas exécutée tant que la frame est affichée.
la ligne suivante est executé dés que la fenetre est affichée...
0
Rejoignez-nous