Paint selon des couleurs différentes

fil -  
 fil -
Hello,
J'ai deux éléments dans un Graphics Java (un String et un Polygon). Je voudrais afficher le Polygon tout le temps et le String uniquement lorsque j'appuie sur un JButton. Pour faire ceci, je surcharge la méthode 'paint' de mon JLabel. Malheureusement, le SetForeground s'effectue sur tous les éléments alors que je voudrais définir une couleur (de fond) particulière pour effacer le String.
Comment faire?
Merci de votre réponse...

7 réponses

  1. Nettogrof Messages postés 522 Statut Membre 672
     
    Ton polygone et ta string sont dans le meme JLabel?

    Avec un peu de code, je vais avoir plus de chance de t'aider

    Nettogrof tseb era seiromem emoS
    0
  2. fil
     
    Ok, merci voici ma surcharge de paint():

    public void paint(java.awt.Graphics g){
    super.paint(g);
    if (routePrivee.isVisible()){
    this.setForeground(java.awt.Color.BLACK);
    g.drawString(routePrivee.getNom(), routePrivee.poly.xpoints [0] + 30, routePrivee.poly.ypoints[0] + 10);
    g.drawPolyline(routePrivee.poly.xpoints, routePrivee.poly.ypoints, routePrivee.poly.npoints);
    }
    else{
    this.setForeground(this.getBackground());
    }
    }

    Ce code fait partie d'une classe Panneau qui hérite de JPanel.
    0
  3. fil
     
    Ouh lala...
    c'est pas très lisible tout ça ...désolé!
    0
  4. Nettogrof Messages postés 522 Statut Membre 672
     
    Sera-t-il une bonne idée de mettre ta string et ton polygone dans 2 JLabel différent?

    Nettogrof tseb era seiromem emoS
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. fil
     
    Oui, j'y ai déjà pensé mais le problème c'est que la String doit être supperposée au polygone. Alors avec deux JLabels je ne crois pas que je puisse les supperposer...
    0
  7. Nettogrof Messages postés 522 Statut Membre 672
     
    Je pense que oui, mais je ne peux pas le garantir car je suis dans l'impossibilité de faire des tests.

    Nettogrof tseb era seiromem emoS
    0
  8. fil
     
    Ok, j'ai trouvé,
    je fais ça comme un petit porc mais ça marche!!!
    Je teste un booléen pour savoir si oui ou non j'affiche la String puis j'appelle la méthode repaint().
    Merci qd même pour ton aide
    A +
    fil
    0