Effacer dans graphics

Résolu/Fermé
XIIIII Messages postés 14 Date d'inscription lundi 10 décembre 2012 Statut Membre Dernière intervention 1 avril 2013 - 26 janv. 2013 à 14:43
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 27 janv. 2013 à 21:13
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

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
Modifié par KX le 26/01/2013 à 15:59
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
0
XIIIII Messages postés 14 Date d'inscription lundi 10 décembre 2012 Statut Membre Dernière intervention 1 avril 2013
27 janv. 2013 à 18:31
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 ;)
0
XIIIII Messages postés 14 Date d'inscription lundi 10 décembre 2012 Statut Membre Dernière intervention 1 avril 2013
27 janv. 2013 à 21:00
SVP une question , lorsque je réduits la fenêtre alors le dessin s'efface !! comment remédier ce problème ??
tks
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
27 janv. 2013 à 21:13
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.
1