bah, c'est pas super compliqu", en fait : tu crées une sous-classe de Canvas, et tu redéfinis sa méthode paint(Graphics) pour qu'elle dessine ce que tu veux à l'intérieur...A vue de nez, comme ça, je ferais un sous-classe genre
Code :
- class TaquinUI extends Canvas {
- private ArrayList cases;
- public void paint(Graphics g) {
- //dessine les bords ici...
- //dessin des cases :
- Case case;
- Iterator it = cases.iterator();
- while (it.hasNext()) {
- case = (Case) it.next();
- case.draw(g);
- }
- }
- public Case getCase(int x, int y) {
- //Te retourne l'objet Case où se situe le point x,y (facile, si la case connaît sa position et sa taille)
- }
|
où Case est une classe qui définit une case de ton taquin : position, etc, etc...
Et pour savoir où le monsieur a cliqué, tu fait implémenter MouseListener à ta classe TaquiUI, et dans la méthode mouseClicked(MouseEvent e); tu utlises e.getX(), et e.getY() avec getCase(x, y) pour savoir quelle case a été cliquée..