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 :

[GradientPaint] ne suit pas le composant


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut [GradientPaint] ne suit pas le composant
    Bonjour,
    J'ai une JScrollBar avec une GradientPaint dessus. Lorsque je redimensionne la fenetre, la JScrollBar se déplace, mais pas les points d'ancrage du GradientPaint.

    J'ai essayé un peu tout (instance statique de GradientPaint, une instance par ScrollBar, une instance par appel de paint() ), mais mon problème ne se règle pas.
    J'ai essayé de fouiller le code du MetalLookAndFeel sur les boutons, mais c'est le labyrinthe ! Entre les UI singletons, les accès synchronized, et les CachedPainter, je m'y perds.

    Je voudrais que les points d'ancrage du GradientPaint suivent les bounds du composant. Comment faire ?
    "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.

  2. #2
    Gfx
    Gfx est déconnecté
    Expert confirmé
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Par défaut
    Un GradientPaint est defini par un point a l'ecran (x,y) et des dimensions. Il faut donc reconstruire le GradientPaint quand la JScrollBar change de taille (ou de position suivant comment tu as procede). Qu'entends-tu par le fait que le GradientPaint soit par dessus une scrollbar ? As-tu etendu JScrollBar ? Si ce n'est pas le cas, il faut ajouter un ComponentListener tu la JScrollBar pour savoir quand elle est deplacee/redimensionnee et changer le GradientPaint en fonction.

  3. #3
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    Erreur idiote : j'étais en pleine réorganisation de code, et au lieu d'appeler ce qu'il fallait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Paint p = new GradientPaint(0, 0, color1, scrollbar.getWidth(), scrollbar.getHeight(), color2, true);
    Je me suis mis à appeler :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Rectangle r = scrollbar.getBounds();
    Paint p = new GradientPaint(r.x, r.y, color1, r.x + r.width, r.y + r.height, color2, true);
    Ce qui fait que le GradientPaint avait l'air de se déplacer lorsque je redimensionnais la fenetre.
    Et plus je réorganisais le code, plus le problème se généralisait à tous les composants !!
    Quand j'ai tenté de mettre un GradientPaint non cyclique, j'ai vite compris mon erreur.

    Et merci pour l'idée du ComponentListener, c'est déjà fait .
    "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.

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

Discussions similaires

  1. Info bulle qui ne suit pas ma souris
    Par amestoche dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/04/2007, 12h14
  2. Réponses: 24
    Dernier message: 28/03/2007, 14h05
  3. Pas de composants
    Par mohfa2001 dans le forum C++Builder
    Réponses: 6
    Dernier message: 27/06/2006, 20h18
  4. [Forms6i]Composant ne suit pas la fenetre forms
    Par patmaba dans le forum Forms
    Réponses: 17
    Dernier message: 13/04/2006, 12h15

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