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

AWT/Swing Java Discussion :

[JXTreeTable] Problème avec les HighLighter


Sujet :

AWT/Swing Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 8
    Points : 6
    Points
    6
    Par défaut [JXTreeTable] Problème avec les HighLighter
    Bonjour à tous,

    Souhaitant colorier les cellules de mon JXtreeTable par ligne entière y compris celle de la première colonne, j'ai vite abandonner l'idée d'utiliser des renderer au profit des HighLighter.

    Cela marche très bien avec 1 seule couleur ou avec 2 en utilisant un AlternateRowHighlighter.

    Mais je veux pouvoir assigner à chaque ligne une couleur différente, et c'est la que ca coince : même en créant un tableau de HighLighter correspondant à chaque ligne du JXTreeTable puis en l'assignant avec la méthode setHighlighters j'obtient un tableau avec toutes les lignes surlignées de la même couleur, a savoir la dernière de mon pipeline.

    J'ai également essayer en ajoutant les Highlighters au fur et à mesure avec la méthode addHighlighters mais j'obtient le même résultat

    Bref si vous avez une idée du problème ca me sauverais, parce que l'aide cours pas les rues sur cet objet

    Merci !

  2. #2
    Membre émérite
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Points : 2 410
    Points
    2 410
    Par défaut
    Bonjour,

    as-tu essayé d'étendre AlternateRowHighlighter et de surcharger la méthode computeUnselectedBackground ? Ceci devrait marcher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    protected Color computeUnselectedBackground(Component renderer, ComponentAdapter adapter) {
      int i = (int) (1.0 * 255 * adapter.row / adapter.getRowCount())
      return new Color(i, i, i);
    }
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  3. #3
    Futur Membre du Club
    Inscrit en
    Avril 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Merci pour ta réponse !

    En réalité j'ai mal compris le concept du pipeline dès de départ : je pensais que chaque highlighter de ce pipeline n'était appliqué qu'à une ligne et non à l'ensemble.

    Pour résoudre mon problème, j'ai étendu la classe HightLighter en surchargeant la method doHighlight : je me sert du parametre adapter pour récuperer la ligne et la colonne courante du talbeau, et suivant ca je peux retrouver le style à appliquer.

    Si quelqu'un en a besoin je collerais un bout de code, mais bon c'est finalement très simple quand on a compris le concept

Discussions similaires

  1. Problème avec les fonctions
    Par jvachez dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 13/01/2004, 12h06
  2. [Postgresql]Problème avec les fonctions ...
    Par fet dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/10/2003, 09h04
  3. Problème avec les apostrophes
    Par misterbillyboy dans le forum Requêtes
    Réponses: 2
    Dernier message: 15/07/2003, 16h39
  4. Problème avec les fichiers .JPG
    Par cprogil dans le forum Langage
    Réponses: 5
    Dernier message: 10/06/2003, 15h44
  5. []Problème avec les formulaires Outlook
    Par davidinfo dans le forum Outlook
    Réponses: 6
    Dernier message: 05/12/2002, 09h59

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