Superposer deux images sur un JButton

Superposer deux images sur un JButton - Java - Programmation

Marsh Posté le 04-03-2012 à 00:02:14    

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 :
  1. 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 :
  1. for(int i = 1; i <= n; i++)
  2. {
  3.         for(int j = 1; j <= n; j++)   
  4.         {
  5.              caseDamier caseDame = new caseDamier(i, j);
  6.                    
  7.               if((i+j) % 2 == 0)
  8.               {
  9.                  caseDame.setIcon(new ImageIcon("caseMarron.png" ));
  10.               }
  11.               else
  12.               {
  13.                   caseDame.setIcon(new ImageIcon("caseBlanche.png" ));
  14.               }
  15.        }
  16. }


 
Rendu actuel :  
 
http://uploads.siteduzero.com/files/366001_367000/366057.png
 
Maintenant, mon problème est le suivant : comment faire pour ajouter les dames (qui sont également des images) sur mes caseDame? C'est à dire : 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 :
  1. for(int i = 1; i <= n; i++)
  2. {
  3.         for(int j = 1; j <= n; j++)   
  4.         {
  5.              caseDamier caseDame = new caseDamier(i, j);
  6.                    
  7.               if((i+j) % 2 == 0)
  8.               {
  9.                  caseDame.setIcon(new ImageIcon("caseMarron.png" ));
  10.                if la dame doit être posée ici
  11.                    caseDame.setIcon(new ImageIcon("queen.png" ))
  12.               }
  13.               else
  14.               {
  15.                   caseDame.setIcon(new ImageIcon("caseBlanche.png" ));
  16.                if la dame doit être posée ici
  17.                      caseDame.setIcon(new ImageIcon("queen.png" ))
  18.               }
  19.        }


 
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.

Reply

Marsh Posté le 04-03-2012 à 00:02:14   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed