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

Graphisme Java Discussion :

JGraph setBackground Refresh


Sujet :

Graphisme Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 131
    Par défaut JGraph setBackground Refresh
    Bonjour à tous.

    J'utilise jGraph et j'aimerai pouvoir changer la couleur de font de ma zone jGraph.
    Lorsque je l'instancie pour la première fois aucun soucis elle prend bien la couleur que je veux grâce au setBackground.

    Mais une fois instanciée je voudrai pouvoir faire changer cette couleur par un click dans une checkBox, je pensais bêtement qu'un simple setBackground avec la nouvelle couleur suffirait et j'ai même essayé en faisant un repaint() et un revalidate() après mais voilà il se passe la chose suivante :

    je click dans ma checkBox (la couleur du font de ma zone jGraph est donc censée avoir changée) et malheureusement la couleur de font n'apparait pas. Cependant si je pose un élément dans ma zone JGraph je vois bien la bonne couleur du font apparaitre sous cet élément. J'en déduis donc que la nouvelle couleur de background a bien été définie mais qu'il y a un problème de refresh.

    Quelqu'un peut-il m'aider ?

  2. #2
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 131
    Par défaut
    Ok problème résolu alors pour ceux que ça interesse voici 2 solutions qui fonctionnent :

    Pour un graph dont la taille est égal à la taille de son container, c'est à dire un graph situé dans un JScrollPane par exemple ceci fonctionnera :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    graph.addOffscreenDirty(graph.getBounds());
    graph.repaint();
    En revanche si le jGraph est situé dans un simple JPanel (ce qui est mon cas), il faut impérativement utiliser le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    double w = graph.getBounds().getWidth();
    double h = graph.getBounds().getHeight();
    graph.addOffscreenDirty(new Rectangle2D.Double(0, 0, w, h));
    Pas besoin de repaint() dans ce cas là.

    Bonne fin de journée à tous.

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

Discussions similaires

  1. [JTabbedPane]Refresh spécifique
    Par Piolet dans le forum Composants
    Réponses: 3
    Dernier message: 11/06/2004, 19h11
  2. Refresh
    Par bluevelvet dans le forum Bases de données
    Réponses: 3
    Dernier message: 01/04/2004, 13h20
  3. Probleme de Refresh avec TQuery et DBGrid
    Par insoo dans le forum C++Builder
    Réponses: 7
    Dernier message: 25/11/2003, 17h20
  4. Réponses: 2
    Dernier message: 23/12/2002, 20h34
  5. Sortir d'un progamme qui boucle ou qui refresh
    Par mikevador02 dans le forum C
    Réponses: 12
    Dernier message: 14/12/2002, 09h38

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