bonjour je suis un jeune etudiant en informatique et je decouvre a peine java. Un projet sur lequelle je me suis lancer me pose un petit probleme je vais faire bref. j ai creer un chronometre qui arriver a 00h00min00s se ferme a l aide d un system.exit(0) ce chronometre est appelle dans une autre application le probleme qui se pose c est que le system.exit(0) ferme la machine virtuelle je me demande comment faire pour n arreter que l execution du chronometre et continuer l application parent. MErci pour votre aide.
probleme de fermeture d une application
sam, 28/04/2007 - 12:45
#1
probleme de fermeture d une application
Il manque des précisions. Ton chronomètre est-il dans une Thread ? C'est ce qu'il semble. Et ce que tu veux c'est arrêter la Thread sans stopper l'application, c'est ça ?
Le problème c'est que System.exit(0); ferme la machine virtuelle. Il faut donc ne stopper que la Thread. Tu peux faire un stop() dessus mais c'est déconseillé pour des raisons de stabilité.
Le mieux est de laisser la méthode run() de ta Thread arriver au bout, je crois ?
Incontestablement
malheureusement mon chronometre n est pas dans un tread j ai ecris un programme basique car je suis vraiment debutant. j envois le code du chronometre
[/list]Tu es débutant, on te pardonne, tout le monde l'a été :)
Tu as la tête dure et c'est moins amusant.
Thread ou pas jrebillat t'ai dit que System.exit() **arrête **la JVM. Qu'est-ce que tu attends pour enlever cette ligne de code et que la fonction puisse se terminer normalement ?
je l aurais bien enlever mais tant kan je l enleve j arrive pas a fermer mon programme j ai essayé un dispose() mais ca marche pas et j ai egalement essaye de rendre le chrono invisible ca marche pas non plus c est pour ca ke je l enleve pas. mon dernier recours c etais timer.stop() mais ca reconnais pas le timer declarer plus bas. et sans ca cela ne s arrete pas. la solution serait ppeut etre de creer un thread mais je comprend pas trop
mon vrai probleme c est arriver a arreter le chrono et le fermer sans utiliser le system.exit()
Alors quoi ? Tu sais faire timer.start() et tu ne sais pas faire timer.stop() ? :D
si mais ca a pas marché. au faite fred si tu me permet de t appellé comme tu me conseil quoi pour renvoyer une valeur a la fin du chrono et je si tu peu modifier mon code et pour que le stop il marche je te demande bcp et j en suis desolé si tes trop occupé pas de soucis. En faite je developpe un petit jeu d aventure et la notion graphique m est inconnu c est pour ca que je suis sur c forum apres je pourrais te faire voir le resultat finals si ca t interesse. merci pour tout
Mais si ça marche. Tu as fait une erreur quelque part voilà tout.
Pas de problème, Fred, c'est mon nom :D
Je ne vais pas modifier ton code parce que c'est en forgeant qu'on devient forgeron et c'est en programmant qu'on devient programmeur. Donc tu dois modifier toi même. Il n'y a que comme ça qu'on peut apprendre. En tous cas, moi c'est comme ça que j'ai appris.
Mais je te donne très volontiers un conseil :)
Les gestionnaires d'événements retournent void, c'est à dire rien. C'est comme ça. Donc tu ne peux pas retourner de valeur. Alors que faire ? Dans le gestionnaire d'événement (actionPerformed) tu dois écrire/modifier cette valeur dans une variable qui sera un membre de la classe Chrono.
Ah ces jeunes qui veulent tous coder un jeu :)
Ne le prends pas mal surtout, parce que je ne veux pas te peiner, et encore moins te décourager, mais il me semble qu'avant de pouvoir faire un jeu complet, tu dois prendre le temps de bien comprendre et maîtriser quelques bases fondamentales de Java.
merci fred de ts tes conseil je suis d accord avec toi. le jeu a la base c est un jeu pas compliquer du tout et c est a la fac qu on nous a demander de le faire pour juste verifier si on comprennait la base de la programmation objet genre les heritages les contracts etc. le chrono c est un plus ke j ai voulu y ajouter dans une mission ou j avais decider de faire qu on bout d un certain temp le joueur n ayant pas reussi la mission soit declarer perdant. mais n ayant jamais eu de cours sur le graphique(juste un peu de gtk) je suis perdu avec cette notion c est pour ca ke je me suis inscrit sur le forum. sinn j aurais jamais la pretention de vouloir faire un vrai jeu sans maitriser le langage.
Et tu y es le bienvenu. N 'hésites pas à poser d'autres questions :)
Gtk et Swing ont une philosophie assez différente. Il faut un peu de temps pour s'habituer aux interfaces et aux événements de Swing. Mais si tu as fait du Gtk alors pas de problème tu peux t'en sortir avec Swing aussi, il n'y a pas de raison.