attendre autrement qu'avec une boucle vide [JAVA] - Java - Programmation
Marsh Posté le 19-02-2006 à 19:18:25
Bon j'ai un peu réfléchi la dessus.
En gros j'ai une fenêtre avec des champs à remplir et un bouton "connect". J'aimerais que mon main attende que l'on pousse sur le bouton de la fenêtre mais ça sans faire de boucle infinie. De plus j'ai des informations (celles qu'on entre dans la fenêtre) à faire passer dans le main pour continuer, ce sont justement ces infos que j'attends.
Pour bien faire j'aimerais :
1) dans le main créer ma fenêtre.
2) faire attendre le main que l'on remplisse les boites de texte de la fenêtre et pousse sur le bouton.
3) continuer le main en utilisant les infos entrées dans la fenêtre (ce que je fais en accédant aux champs de mon objet fenêtre).
Le problème est de faire attendre le main sans qu'il ne bouffe toutes les ressources, càd sans faire de boucle infinie vide en attendant que l'on pousse sur le bouton.
Marsh Posté le 19-02-2006 à 19:27:25
http://www.google.com/search?q=jav [...] 20tutorial
Marsh Posté le 19-02-2006 à 20:03:38
C'est marrant, y'a tellement à dire que j'aurais répondu la même chose. Mais j'ai eu des scrupules...
Marsh Posté le 20-02-2006 à 13:03:41
Salut
ça vous paraît facile mais pour moi ça ne l'est pas ! Je suis débutant, j'avais pensé aux threads le temps que l'on réponde à mon post mais ça ne résoud quand même pas mon problème de faire attendre le main lui même. D'abord la fenêtre est considérée comme un thread à part entière alors je ne vois déjà pas comment utiliser wait() et notifyall() si elle ne doit pas être déclarée synchronized et dérivant de la classe thread. Et même si je faisais deux threads, un pour la fenêtre et un pour la connection, celui-ci attendant avec wait que le champ dont j'ai besoin soit ok, je ne saurai quand même pas faire attendre mon MAIN.
Mon problème est de faire attendre le MAIN, et c'est ça qui me pose problème.
Marsh Posté le 20-02-2006 à 13:12:34
Tu n'a qu'a pas attendre dans le main..
Ya rien a mettre en général dans le main.. enfn chez moi ya jamais grand chose, juste l'instanciation de ma classe principale quoi.
Marsh Posté le 20-02-2006 à 13:26:33
Flitz a écrit : Salut |
ça tombe bien, je t'ai filé plein de tutoriaux, dont celui de sun qui commence par expliquer ce qu'est un thread, c'est pas assez débutant ça ?
Marsh Posté le 20-02-2006 à 13:40:54
A la rigueur, Thinking in Java. Je ne sais pas s'il a été actualisé pour 1.5, mais les principes restent valables.
Le tuto de Sun ne me semble pas super didactique par contre...
Marsh Posté le 20-02-2006 à 21:50:16
Flitz a écrit : Salut |
Et bien quand on est débutant on commence par apprendre, pour ne pas partir sur de mauvaises bases.
Or faire attendre le thread de l'interface graphique "ça se fait pas". Et d'autre part, on ne place pas son code dans la méthode main.
Je te conseille de reprendre des tutoriels sur java depuis le début, histoire de savoir de quoi on parle.
Bon courage pour la suite.
Marsh Posté le 20-11-2006 à 17:39:49
Tu nbe peut pas simplement mettre un Listener Sur le bouton ?
genre un simple "ActionListener"
Dans lequel tu change le boolean Ou bien simplement qui appel une autre methode qui fait ce que tu veux faire ^_°
(lol Oui je sais c'est un petit peut sa le principe des listener )
.. comme sa ta page ne seras remise a jours que quand tu clic sur le bouton ......
????????????
enfin moi ce que j'en dit hein ^_° je débute aussis mais je suis d'avis que tu apprenne avant de commencer sinon ton programme seras fait a la nimporte nawak
Puis regarde bien L'API tu trouveras plein de trucs utiles dedans (pour autans que tu comprenne l'anglais ^_°)
(scusez moi pour l'orthographe :s )
Marsh Posté le 19-02-2006 à 13:48:55
Salut à tous
J'aurais besoin d'un petit conseil concernant l'attente sur une valeur d'un champ d'un objet. En fait j'ai créé une fenêtre en java dans laquelle se trouvent 4champs de texte et un boutton. Cette fenêtre est créée dans ma méthode "main" et j'aimerais justement que le "main" attende que l'on clique sur le bouton de la fenêtre pour continuer. Dans mon objet "ConnectWindow" qui gère la fenêtre j'ai ajouté un champ "isConnected" qui sera mis à "true" quand on clique sur le bouton. Dans le main j'ai placé une boucle
while(maFenetre.isConnected) { }
pour attendre que ce champ devienne true et continuer le main mais je trouve ça relativement barbare.
N'y a t il pas un moyen plus optimal pour faire attendre le main que l'on ait cliqué sur le bouton de la fenetre ?
Je vous remercie d'avance