Mettre un élément en couleur JAVA [Fermé]

- - Dernière réponse :  Obli - 24 sept. 2014 à 17:47
Bonjour,

je suis un débutant en java et je fais actuellement un calendrier en java, j'ai juste un problème avec celui-ci, j'essaie de mettre un élément en couleur (le 13 ème jour par exemple), pour ce faire j'utilise cette méthode "\u001B[31mLENOMBRE\u001B[31m", celui-ci affiche bien ce nombre en rouge, mais il affiche ensuite aussi tout les autres nombre en rouge jusqu'a la fin de la semaine pour ensuite revenir en noir.

Serait-il possible de me donner des pistes pour solutionner l'erreur ?
J'ai déjà tenter de réatribuer le code couleur noir sans succès "\u001B[0mLENOMBRE\u001B[0m";

J'utilise une boucle for qui revient a la ligne dés que la fin de la semaine est atteins.

Cdlt
Afficher la suite 

8 réponses

Messages postés
85
Date d'inscription
mercredi 24 septembre 2014
Statut
Membre
Dernière intervention
16 juillet 2019
11
0
Merci
Hello, pourrai-tu nous montrer le code complet de ta boucle for ? Et celle de ton élément ?
Merci
0
Merci
Bonjour,

http://pastebin.com/arzHx9rX

J'ai volontairement mis "txt" afin de voir ou prenais effet le changement, je sais que mon code n'est peut-être pas optimal, mais je souhaite juste solutionner cette anomalie :)
Messages postés
85
Date d'inscription
mercredi 24 septembre 2014
Statut
Membre
Dernière intervention
16 juillet 2019
11
0
Merci
Hello !

Alors, tu vas te marrer mais chez moi ça joue ! Il ne mets que le jour d'aujourd'hui en rouge !
Désolé mais je n'ai pas ton problème :/
J'ai même tester en remplacant la valeur de la variable contenant le jour d'aujourd'hui pour être sur !
T'es sûr que t'as une erreur ???
0
Merci
Bonjour,

Je vous met une impression d'écran afin de vous montrer le problème.
J'aimerais que ce soit uniquement le mon "txt" qui soit en rouge et non la suite des chiffres (ici : 12,13,14) qui soit en noir.

http://www.hostingpics.net/viewer.php?id=254024img.png


J'utilise netBean peut-être ect-ce un problème de la version ?

Cdlt.
Messages postés
85
Date d'inscription
mercredi 24 septembre 2014
Statut
Membre
Dernière intervention
16 juillet 2019
11
0
Merci
J'ai trouvé !

Tu réassimile bien la couleur noir à tata, mais après il te faut l'écrire pour que la suite du texte soit bien écrite en noir après...

Comme ca :

if (cible == day) {
                    System.out.print (tata);
                    tata = "\u001B[0m\u001B[0m";
                    System.out.print (tata);
                }


Voilà :)
0
Merci
Parfais,

ça fonctionne :) .

Mais je ne comprends toujours pas pourquoi il effectue la modification de couleur jusqu'a la fin de la ligne si on ne l'affiche pas.
Messages postés
85
Date d'inscription
mercredi 24 septembre 2014
Statut
Membre
Dernière intervention
16 juillet 2019
11
0
Merci
C'est simple, La balise que tu utilise pour mettre en rouge n'est pas fermante, d'une fois qu'elle est mise elle s'applique jusqu'a la fin de la ligne tant qu'un balise d'une autre couleur n'est pas imposée... Enfin c'est ce que je crois avoir compris par ce que je n'avais encore jamais utilisé cette méthode ;)

Je fais plutôt mon calendrier dans une JFrame....

Par contre un petit conseil, afin de ne pas avoir à rentrer le jour d'aujourd'hui dans ta méthode mais que celle-ci le fasse automatiquement tu peux utiliser la classe Calendar de Java, après l'avoir importé bien sûr :

importation au sommet de ta classe :
import java.util.Calendar;


et le code à utiliser pour récupérer tes variables annee, jour et mois dans ta classe :

Calendar cal = Calendar.getInstance( );  //récupère la date du jour
 
int annee =  cal.get(Calendar.YEAR); //récupère l'année
 
int mois = cal.get(Calendar.MONTH); // récupère le mois
 
int jour = cal.get(Calendar.DAY_OF_MONTH); // récupère le jour

0
Merci
Merci pour ton aide AstaLaVista1908, je devais réaliser cet exercice pour un petit projet en utilisant la congruence de Zeller, qui me renvois le premier jour du mois avec une date imposée :).

A passer en résolus si un modo passe par ici :) !