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

Interfaces Graphiques en Java Discussion :

Superposer deux images sur un JButton


Sujet :

Interfaces Graphiques en Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 21
    Points : 9
    Points
    9
    Par défaut Superposer deux images sur un JButton
    Bonjour,

    Je conçois actuellement un damier en JAVA et suis confronté à un problème graphique.

    Explication :

    Les cases de mon jeu de dame sont des instances de la classe "caseDamier" qui hérite de JButton :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public class caseDamier extends JButton
    Lors de la création des cases, j'ajoute une image de fond sur chacune d'entre elle grâce à la méthode setIcon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    for(int i = 1; i <= n; i++)
    {
            for(int j = 1; j <= n; j++)     
            {
                 caseDamier caseDame = new caseDamier(i, j);
     
                  if((i+j) % 2 == 0)
                  {
                     caseDame.setIcon(new ImageIcon("caseMarron.png"));
                  }
                  else 
                  {
                      caseDame.setIcon(new ImageIcon("caseBlanche.png"));
                  }
           }
    }
    Rendu actuel :

    Nom : 366057.png
Affichages : 118
Taille : 231,4 Ko


    Maintenant, mon problème est le suivant : comment faire pour ajouter les dames (qui sont également des images) sur mes caseDame? Comment superposer deux images l'une sur l'autre : en index 0, il y aurait le fond de la case (caseMarron.png ou caseBlanche.png), et au dessus d'elle, l'icone de la dame ("queen.png").


    J'ai essayé en utilisant deux fois de suite la méthode setIcon mais cela ne marche pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    for(int i = 1; i <= n; i++)
    {
            for(int j = 1; j <= n; j++)     
            {
                 caseDamier caseDame = new caseDamier(i, j);
                        
                  if((i+j) % 2 == 0)
                  {
                     caseDame.setIcon(new ImageIcon("caseMarron.png"));
    
                     if la dame doit être posée ici
                       caseDame.setIcon(new ImageIcon("queen.png"))
                  }
                  else 
                  {
                      caseDame.setIcon(new ImageIcon("caseBlanche.png"));
                   if la dame doit être posée ici
                         caseDame.setIcon(new ImageIcon("queen.png"))
                  }
           }
    Donc en faisant d'innombrables recherches sur google et testé plein de choses différentes (utilisation d'un JLayeredPane par exemple), j'ai pensé aboutir à quelque chose mais rien n'y fait, je n'arrive pas à avoir mes deux images l'une sur l'autre.

    Voilà si quelqu'un aurait une solution à me proposer je lu en saurait très reconnaissant.

  2. #2
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Pas génial comme façon de procéder.

    Il est amplement préférable dans ce genre de cas de n'utiliser qu'un unique composant héritant de JComponent dont on redéfinira la méthode paintComponent pour effectuer l'intégralité des dessins.

    De plus ça permet d'éviter d'avoir à se fader des listeners dans tous les sens).

    Un exemple dans le sujet suivant: http://www.developpez.net/forums/d84...d/#post4812244

Discussions similaires

  1. Superposer deux images - CSS
    Par lhpp dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 21/04/2010, 18h38
  2. Superposer deux images plus d'autres "libres"
    Par Deallyra dans le forum Mise en page CSS
    Réponses: 16
    Dernier message: 11/06/2007, 15h10
  3. Superposer deux images
    Par Grafokoy dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 02/12/2006, 23h54
  4. superposer deux images ?
    Par terminoz dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 20/08/2005, 09h04

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