Effacer dans graphics

[Résolu/Fermé]
Signaler
Messages postés
14
Date d'inscription
lundi 10 décembre 2012
Statut
Membre
Dernière intervention
1 avril 2013
-
Messages postés
16400
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
21 septembre 2021
-
Bonjour,
comment effacer une forme 'Graphics' déja dessinée ?
par exp:

g.drawRect(x,y,h,l);
g.drawString(msg1,x1,y1);
...
//ensuite je veux effacer mon message et le remplacer par un autre message (msg2)

merci

1 réponse

Messages postés
16400
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
21 septembre 2021
2 880
La méthode paint est appelé automatiquement lors du redimensionnement de la fenêtre ou manuellement avec la méthode repaint. Tu devrais donc faire un repaint et faire en sorte qu'au lieu de dessiner tes premières instructions la méthode paint dessine les secondes...

Exemple :

private int etat = 1;

@Override
public void paint(Graphics g)
{
    super.paint(g);
    
    System.err.printf("paint(etat=%d);\n",etat);
    
    switch (etat)
    {
    case 1:
        g.drawRect(x,y,h,l);
        g.drawString(msg1,x1,y1);
        break;
    case 2:
        g.drawString(msg2,x2,y2);
        break;
    }
}

public void changerEtat(int etat)
{
    this.etat = etat;
    repaint();
}
La confiance n'exclut pas le contrôle
Messages postés
14
Date d'inscription
lundi 10 décembre 2012
Statut
Membre
Dernière intervention
1 avril 2013

oui je te suis, mais moi j'ai une boucle, j'ai trouvé une petite astuce :

if(....){
g.setColor(Color.black);
g.drawString(msg1,x1,y1);
}
else{
g.setColor(new Color(240,240,240));
g.fillRect(x1, x2, h,l);
g.setColor(Color.black);
g.drawString(msg2,x1,y1);
}

je mets un rectangle qui prend la couleur de l'arrière plan ensuite je dessine mon deuxième texte
merci encore pour ton aide ;)
Messages postés
14
Date d'inscription
lundi 10 décembre 2012
Statut
Membre
Dernière intervention
1 avril 2013

SVP une question , lorsque je réduits la fenêtre alors le dessin s'efface !! comment remédier ce problème ??
tks
Messages postés
16400
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
21 septembre 2021
2 880
C'et normal que le dessin s'efface lorsque la fenêtre est réduite, puisque c'est toute la fenêtre qui s'efface. Cependant, lorsqu'elle est agrandie, la méthode paint devrait être appelée automatiquement, sous réserve que la précédente exécution de paint soit terminée. Il faudrait que je vois le code complet de paint pour voir quelle genre d'erreurs tu as pu faire, mais j'ai peur que la boucle dont tu parlais ne bloque les automatismes.