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

SWT/JFace Java Discussion :

Grid Nebula Couleur de la sélection


Sujet :

SWT/JFace Java

  1. #1
    Membre actif Avatar de L4BiN
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2006
    Messages : 432
    Points : 209
    Points
    209
    Par défaut Grid Nebula Couleur de la sélection
    Bonjour,

    Contraint par des problèmes liés à mon projet, j'ai due remplacer une Table SWT, par une Grid Nebula.

    Sur la table que j'utilisais auparavant, j'avais mis en place un système permettant de gérer la couleur de la ligne sélectionnée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
      table.addListener(SWT.EraseItem, new Listener() {
                @Override
                public void handleEvent(Event event) {
                    Table table = (Table) event.widget;
                    TableItem item = (TableItem) event.item;
                    int clientWidth = table.getClientArea().width;
     
                    GC gc = event.gc;
                    gc.setBackground(item.getBackground(0));
                    gc.setForeground(item.getBackground(0));
                    gc.fillRectangle(0, event.y, clientWidth, event.height);
                }
            });
    Le problème est que je ne sais pas comment refaire le même genre de comportement avec une grid Nebula. Est il possible de revoir la couleur de la sélection ?

    Merci d'avance pour vos réponses.

  2. #2
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Salut,

    Tu peux retrouver ce comportement en définissant un GridCellRenderer (soit pour tes GridColumn, soit pour ta Grid). Par contre, je dois t'avouer que, pour ma part, je me suis fortement basé sur celui par défaut (DefaultCellRenderer).

    Voilà, à+
    Gueritarish
    Pas de questions technique par MP, les forums sont là pour ça.

  3. #3
    Membre actif Avatar de L4BiN
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2006
    Messages : 432
    Points : 209
    Points
    209
    Par défaut
    Merci pour ta réponse, ça m'a bien aidé.

    J'ai donc ajouté un GridCellRenderer, largement inspiré du DefaultCellRender, et j'ai géré les couleurs et l'alpha pour la transparence de la sélection.

    Merci encore.

  4. #4
    Membre actif Avatar de L4BiN
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2006
    Messages : 432
    Points : 209
    Points
    209
    Par défaut
    Une derniere question,

    Dans les Columns, on peut effectivement ajouter un renderer via setCellRenderer(), Mais sur la grid on ne peut que faire appel à setEmptyCellRenderer, que je n'arrive pas à utiliser.

    Quel est la différence ?

    Merci d'avance.

  5. #5
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Sur la Grid, tu peux faire appel à setFocusCellRenderer() (qui va afficher tes cellules lors du focus) et/ou à setEmptyCellRederer() (qui va donc afficher tes cellules vides).
    En complément / remplacement de ça, tu peux passer par les renderers des colonnes (qui vont donc s'occuper du rendu de chaque colonne).
    Donc, la différence est purement contextuelle. Soit tu souhaites afficher par colonnes, soit tu souhaites afficher par cellule.

    Voilà, à+
    Gueritarish
    Pas de questions technique par MP, les forums sont là pour ça.

Discussions similaires

  1. [OL-2010] Changer la couleur de la sélection dans un nouveau mail
    Par gretch dans le forum VBA Outlook
    Réponses: 6
    Dernier message: 29/05/2012, 11h44
  2. mettre la cellule d'une Grid en couleur
    Par PTitounet dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 24/03/2011, 19h21
  3. [XL-2003] Macro à priori simple pour changer la couleur d'une sélection !
    Par Adweuz dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/03/2011, 09h53
  4. Changer la couleur de la sélection dans une Trackbar
    Par Kindersurpriz dans le forum Langage
    Réponses: 3
    Dernier message: 18/08/2008, 08h08
  5. couleur de ligne sélectionée/désélectionnée
    Par j_ojo dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 31/07/2006, 20h18

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