Mettre un élément en couleur JAVA

Fermé
Obli - 24 sept. 2014 à 15:29
 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
A voir également:

8 réponses

AstaLaVista1908 Messages postés 85 Date d'inscription mercredi 24 septembre 2014 Statut Membre Dernière intervention 16 juillet 2019 33
24 sept. 2014 à 15:35
Hello, pourrai-tu nous montrer le code complet de ta boucle for ? Et celle de ton élément ?
Merci
0
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 :)
0
AstaLaVista1908 Messages postés 85 Date d'inscription mercredi 24 septembre 2014 Statut Membre Dernière intervention 16 juillet 2019 33
24 sept. 2014 à 16:09
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
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
AstaLaVista1908 Messages postés 85 Date d'inscription mercredi 24 septembre 2014 Statut Membre Dernière intervention 16 juillet 2019 33
Modifié par AstaLaVista1908 le 24/09/2014 à 16:55
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
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.
0
AstaLaVista1908 Messages postés 85 Date d'inscription mercredi 24 septembre 2014 Statut Membre Dernière intervention 16 juillet 2019 33
Modifié par AstaLaVista1908 le 24/09/2014 à 17:27
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 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 :) !
0