[Aide] Coder "Simon"
Résolu/Fermé
Dorckan
Messages postés
11
Date d'inscription
vendredi 19 juillet 2013
Statut
Membre
Dernière intervention
10 mai 2014
-
9 mai 2014 à 17:23
Dorckan Messages postés 11 Date d'inscription vendredi 19 juillet 2013 Statut Membre Dernière intervention 10 mai 2014 - 10 mai 2014 à 19:57
Dorckan Messages postés 11 Date d'inscription vendredi 19 juillet 2013 Statut Membre Dernière intervention 10 mai 2014 - 10 mai 2014 à 19:57
A voir également:
- [Aide] Coder "Simon"
- Comment coder son whatsapp - Guide
- Application pour apprendre à coder - Guide
- Media coder - Télécharger - Montage & Édition
- Coder en binaire - Guide
- Comment coder un dossier sur pc - Guide
2 réponses
Nhhi
Messages postés
332
Date d'inscription
lundi 28 avril 2014
Statut
Membre
Dernière intervention
6 mars 2016
299
9 mai 2014 à 17:40
9 mai 2014 à 17:40
regarde du coté de Thread.sleep(1000);
ou alors tu peux aussi récupérer le temps de départ dans une variable X
et tu crée une boucle tant que (temps actuel - X <1000) tu tourne en rond et c'est seulement quand 1 seconde s'est écoulé que ta boucle se fini et que tu peux continuer.
ou alors tu peux aussi récupérer le temps de départ dans une variable X
et tu crée une boucle tant que (temps actuel - X <1000) tu tourne en rond et c'est seulement quand 1 seconde s'est écoulé que ta boucle se fini et que tu peux continuer.
Dorckan
Messages postés
11
Date d'inscription
vendredi 19 juillet 2013
Statut
Membre
Dernière intervention
10 mai 2014
Modifié par Dorckan le 10/05/2014 à 17:18
Modifié par Dorckan le 10/05/2014 à 17:18
Merci, cette technique a l'air de fonctionner, mais je crois que dans mon code ,'est pas bon : je ne voit aucun changement.
Cette partie du code est sensée attribuer à chaque "case" d'un tableau un nombre (la série de couleur est mémorisée dans ce tableau), qui lui même est associé à une couleur qui va colorer le "bouton" du milieu. Mais quand je run le programme, ca n'affiche le bouton que dans une couleur (sans doute celle de la dernière case du tableau).
Vous savez pourquoi cela ne fonctionne pas ? C'est sans doute une erreur toute bête, je suis débutant en Java :/
EDIT : j'ai trouver l'erreur, je sait que c'est bien la dernière couleur qui est affichée, comment faire pour que la fenêtre s'ouvre au tout début (dès la première couleur), pour que l'utilisateur voit la suite "évoluer" ? :/
int monTableau[] = new int[5]; int i = 0; while(i<5) { pause(1000); monTableau[i] = (new java.util.Random()).nextInt(4)+1; switch (monTableau[i]) { case 1: simon.setBackground(Color.yellow); break; case 2: simon.setBackground(Color.red); break; case 3: simon.setBackground(Color.green); break; case 4: simon.setBackground(Color.blue); break; } i=i+1; }
Cette partie du code est sensée attribuer à chaque "case" d'un tableau un nombre (la série de couleur est mémorisée dans ce tableau), qui lui même est associé à une couleur qui va colorer le "bouton" du milieu. Mais quand je run le programme, ca n'affiche le bouton que dans une couleur (sans doute celle de la dernière case du tableau).
Vous savez pourquoi cela ne fonctionne pas ? C'est sans doute une erreur toute bête, je suis débutant en Java :/
EDIT : j'ai trouver l'erreur, je sait que c'est bien la dernière couleur qui est affichée, comment faire pour que la fenêtre s'ouvre au tout début (dès la première couleur), pour que l'utilisateur voit la suite "évoluer" ? :/
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
10 mai 2014 à 17:28
10 mai 2014 à 17:28
comment faire pour que la fenêtre s'ouvre au tout début (dès la première couleur), pour que l'utilisateur voit la suite "évoluer" ?
C'est une JFrame ? Tu fais
setVisible(true);une fois tous tes composants en place.
Remarque :
int i = 0; while(i<5) { ... i=i+1; }
C'est typiquement une boucle for dont tu as besoin ici !
for (int i=0; i<5; i++) { ... }
Dorckan
Messages postés
11
Date d'inscription
vendredi 19 juillet 2013
Statut
Membre
Dernière intervention
10 mai 2014
10 mai 2014 à 17:42
10 mai 2014 à 17:42
Pour le for, effectivement, ça marche ! :)
Mais j'ai toujours le même problème : en mettant setVisible(true), la fenêtre s'ouvre bien avant l'attribution des couleurs, mais bizarrement elle s'ouvre en transparent (il n'y a que le cadre qui est visible, avec la croix rouge, réduire, etc ...; mais pas les boutons et les éléments définis :o).
C'est bizarre, quelqu'un sait pourquoi ça me fait ça ?
Mais j'ai toujours le même problème : en mettant setVisible(true), la fenêtre s'ouvre bien avant l'attribution des couleurs, mais bizarrement elle s'ouvre en transparent (il n'y a que le cadre qui est visible, avec la croix rouge, réduire, etc ...; mais pas les boutons et les éléments définis :o).
C'est bizarre, quelqu'un sait pourquoi ça me fait ça ?
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
10 mai 2014 à 18:20
10 mai 2014 à 18:20
Est-ce que tu as définis une taille à ta fenêtre ?
Soit avec
Soit avec
setSize(width, height);soit avec
pack();(les deux à mettre avant setVisible pour ne pas afficher le redimensionnement)
Dorckan
Messages postés
11
Date d'inscription
vendredi 19 juillet 2013
Statut
Membre
Dernière intervention
10 mai 2014
Modifié par Dorckan le 10/05/2014 à 18:35
Modifié par Dorckan le 10/05/2014 à 18:35
Ca ne marche pas :/
En plus j'aimerai que la fenêtre garde la taille standard :/
EDIT : En fait ça marche, mais avant que la fenêtre s'affiche (hors le cadre), les couleurs se définissent, et donc la fenêtre ne s'affiche entièrement qu'à la fin de cette détermination des couleurs, et du coup n'affiche que la dernière. :/
En plus j'aimerai que la fenêtre garde la taille standard :/
EDIT : En fait ça marche, mais avant que la fenêtre s'affiche (hors le cadre), les couleurs se définissent, et donc la fenêtre ne s'affiche entièrement qu'à la fin de cette détermination des couleurs, et du coup n'affiche que la dernière. :/
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
10 mai 2014 à 18:54
10 mai 2014 à 18:54
Pour t'aider il va falloir que je vois ton code, je ne peux pas deviner ce qui se passe si je ne peux pas tester...
9 mai 2014 à 18:48
Le Thread.sleep() est bien mieux ;-)
Exemple :