Mettre un élément en couleur JAVA

Obli -  
 Obli -
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

8 réponses

  1. AstaLaVista1908 Messages postés 88 Statut Membre 33
     
    Hello, pourrai-tu nous montrer le code complet de ta boucle for ? Et celle de ton élément ?
    Merci
    0
  2. Obli
     
    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
  3. AstaLaVista1908 Messages postés 88 Statut Membre 33
     
    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
  4. Obli
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. AstaLaVista1908 Messages postés 88 Statut Membre 33
     
    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
  7. Obli
     
    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
  8. AstaLaVista1908 Messages postés 88 Statut Membre 33
     
    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
  9. Obli
     
    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