IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants Java Discussion :

Comportement étrange du TreeCellRenderer en Java 1.5


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 22
    Par défaut Comportement étrange du TreeCellRenderer en Java 1.5
    Bonjour à tous,

    je suis confronté à un problème assez retors, que voici :

    Dans une applet, je construit un JTree dont les feuilles ont un label au format html, ce qui me permet d'avoir dans mon arbre du texte en gras, en italique et ce genre de choses... Je construit donc mes feuilles ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new DefaultMutableTreeNode(new MonObjet("<html>Mon <b>Titre</b>"));
    Mon TreeCellRenderer en fonction de la node selectionnée change la couleur du texte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    private void setColorForValue(Component compo, Object value) {
            DefaultMutableTreeNode node = (DefaultMutableTreeNode) value;
            ISoutienTreeComponent v = (ISoutienTreeComponent) node.getUserObject();
     
            if (v.getLvl() == ISoutienTreeComponent.LVL_DIRECTORY) {
                    compo.setForeground(Color.BLUE);
                    if(hasFocus)
                    {
                        compo.setForeground(Color.WHITE);
                    }   
            } else {
                compo.setForeground(Color.BLACK);
                if(hasFocus)
                {
                    compo.setForeground(Color.WHITE);
                }        
            }
        }
    Quand mon applet est lancée avec java 1.6, tout fonctionne parfaitement
    Quand mon applet est lancée avec java 1.5, le comportement devient bizarre : le couleurs des éléments du dessus sont appliqués à ceux du dessous, le fait de cliquer sur un élément au dessus de l'élément précédemment sélectionné n'aura pas le même résultat que si l'on clique sur l'élément du dessous, mais dans les deux cas le résultat n'est pas celui escompté, le texte disparait (texte blanc sur fond blanc) par exemple... Bref, ça ne marche pas du tout!
    Quand je n'utilise pas de titre en html, que ce soit en 1.5 ou 1.6, je n'ai pas de souci... tout fonctionne!

    Est-ce un problème lié à la gestion du html par la jre 1.5, ou bien est-ce moi qui code comme une porcasse?

    Merci d'avoir pris le temps de lire ce post.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 22
    Par défaut Contournement du problème
    Si un jour quelqu'un rencontre le même souci :

    j'ai fini par retirer du TreeCellRenderer la gestion des couleurs, tout est fait en html : je modifie mon titre d'élément en fonction de son type et de son état en y écrivant directement le style (color) souhaité. C'est crade mais ça marche...

Discussions similaires

  1. [Forms6i] Un IF-ELSIF au comportement étrange
    Par lafouine dans le forum Forms
    Réponses: 11
    Dernier message: 13/09/2005, 15h40
  2. Comportement étrange apres une désinstallation
    Par Sunchaser dans le forum Excel
    Réponses: 4
    Dernier message: 06/08/2005, 19h44
  3. comportement étrange d'une jointure ...
    Par amenis dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 10/02/2005, 21h27
  4. [Système][Runtime][Exec] Comportement étrange au lancement de BeSweet
    Par divxdede dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 06/06/2004, 09h54
  5. Réponses: 2
    Dernier message: 22/09/2003, 11h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo