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 :

Signification de : event.detail &= ~SWT.FOREGROUND; ?


Sujet :

SWT/JFace Java

Vue hybride

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 35
    Par défaut Signification de : event.detail &= ~SWT.FOREGROUND; ?
    Bonjour, je ne comprends pas cette ligne de code :
    event.detail &= ~SWT.FOREGROUND;
    Que veut dire cette ligne et en particulier ~?

    Cette ligne de code provient de cet exemple : http://www.java2s.com/Tutorial/Java/...dEraseItem.htm

    dans lequel se trouve :

    switch (event.type) {
    case SWT.EraseItem:
    event.detail &= ~SWT.FOREGROUND;
    break;
    }

    Si vous pouvez m'éclairer merci beaucoup.

  2. #2
    Membre chevronné
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 340
    Par défaut
    l'opérateur ~ est l'opérateur d'inversion binaire (j'avais posé la question il y a quelques temps avec un peu de recherche tu aurais trouvé), si tu veux un exemple :

    (sur 16 bits)
    le nombre 1 est codé 0000 0000 0000 0001
    donc ~1 sera codé 1111 1111 1111 1110

    Ensuite l'opérateur & compare tous les bits des deux opérandes et met le bit à la nieme position à 1 si le bit à la nieme position des deux opérandes est à 1.

    Donc quand en SWT tu définis le style d'un composant, par example SWT.BORDER | SWT.HORIZONTAL, si tu veux suprimer un des deux éléments de l'entier il faut que tu applique l'opérateur & à son inverse binaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    int style = SWT.BORDER | SWT.HORIZONTAL;
    int styleWithoutBorder = style & ~SWT.BORDER
    Pour comprendre se qui se passe :

    SWT.BORDER (1<<11) est codé 0000 0000 0000 0000 0000 1000 0000 0000
    SWT.HORIZONTAL (1<<8) est codé 0000 0000 0000 0000 0000 0001 0000 0000
    donc ~SWT.BORDER est codé 1111 1111 1111 1111 1111 0111 1111 1111
    d'après ce que je t'ai expliqué au dessus quand tu fait (SWT.BORDER | SWT.HORIZONTAL) & ~SWT.BORDER tous les bits à 1 du nombre (SWT.BORDER | SWT.HORIZONTAL) vont être conservé sauf celui du SWT.BORDER on obtient donc bien SWT.HORIZONTAL car on à "extrait" SWT.BORDER.

    Pout en revenir à ton example le event.detail &= ~SWT.FOREGROUND met à 0 le bit à 1 de l'entier event.detail donc l'état représenté par cet entier ne contient plus le style SWT.FOREGROUND.

    J'éspère avoir été clair, dites-le moi si je me suis planté dans mon explication.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 35
    Par défaut
    Merci beaucoup pour ta réponse très claire.

    ps: j'avais cherché mais sur ~, tilde etc. et rien trouvé.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [11gR2] Top 5 Timed Foreground Events d'un AWR
    Par devkais dans le forum Administration
    Réponses: 14
    Dernier message: 06/12/2014, 16h47
  2. event.x,y différents avec SWT.MouseDown et SWT.MenuDetect
    Par pierre++ dans le forum SWT/JFace
    Réponses: 1
    Dernier message: 22/07/2009, 13h25
  3. [swt]expand event et treeviewer
    Par Fabien[ALT] dans le forum SWT/JFace
    Réponses: 1
    Dernier message: 27/06/2009, 19h05
  4. Event OnChange : signification exacte
    Par azerty_essai dans le forum C++Builder
    Réponses: 2
    Dernier message: 23/09/2005, 08h49
  5. [SWT] Un bon coin ou trouver des infos pratik
    Par yolepro dans le forum SWT/JFace
    Réponses: 8
    Dernier message: 04/12/2002, 14h08

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