Récuperer des éléments en java (Swing)

Fermé
javapa - Modifié par javapa le 13/06/2011 à 20:20
 javapa - 14 juin 2011 à 22:27
Bonjour,

Voila mon problème, je trace mes formes graphiques sur mon écran, il s'agit de jetons pour un jeu de mastermind, le souci que j'ai c'est que je ne trouve pas vraiment de moyen pour récupérer chaque jeton, tout ce que j'arrive à faire c'est d'afficher chacun des jetons et la tablette.

Ma tablette contient 10 rangées (rectangles) de 4 jetons (cercles), voici le code:



for (int i = 50; i <= 500; i += 50) { 
  
    barrePalette = new Color(0x993300); 
    g.setColor(barrePalette); 
    g.fillRect(getWidth() / 5, i, 300, 50); 
  
     
    // border 
    g.setColor(Color.BLACK); 
    g.drawRect(getWidth() / 5, i, 300, 50); 
  
     
    // cercles intérieurs 
    // 1er cercle 
    g.setColor(Color.BLACK); 
    g.fillOval((getWidth() / 5) + 20, i + 10, 30, 30); 
    // 2eme cercle 
    g.setColor(Color.BLACK); 
    g.fillOval((getWidth() / 5) + 20 + 50, i + 10, 30, 30); 
    // 3eme cercle 
    g.setColor(Color.BLACK); 
    g.fillOval((getWidth() / 5) + 120, i + 10, 30, 30); 
    // 4eme cercle 
    g.setColor(Color.BLACK); 
    g.fillOval((getWidth() / 5) + 170, i + 10, 30, 30); 
  
    // carre droit 
    g.setColor(Color.BLACK); 
    g.drawRect((getWidth() / 5) + 220, i + 2, 78, 46); 
  
    // inner square 
    // 1er cercle 
    g.setColor(Color.BLACK); 
    g.fillOval((getWidth() / 5) + 235, i + 3, 20, 20); 
    // 2eme cercle 
    g.setColor(Color.BLACK); 
    g.fillOval((getWidth() / 5) + 265, i + 3, 20, 20); 
    // 3eme cercle 
    g.setColor(Color.BLACK); 
    g.fillOval((getWidth() / 5) + 235, i + 27, 20, 20); 
    // 4eme cercle 
    g.setColor(Color.BLACK); 
    g.fillOval((getWidth() / 5) + 265, i + 27, 20, 20); 
     
   }


Donc voila si quelqu'un a une idée ou une piste à m'indiquer...Je voudrais rajouter que j'ai crée une classe Jeton qui stocke dans son constructeur les positions du jeton, ses dimensions ainsi que sa couleur, mais pas moyen de trouver comment récupérer chacun des jetons...
A voir également:

2 réponses

KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
Modifié par KX le 13/06/2011 à 23:20
En créant une classe Jeton, qui crée un jeton, et connait ses positions.
Tu peux faire une classe Ligne extends Collection<Jeton> ou collection pourrait être une ArrayList<Jeton> voire une ArrayList<ArrayList<Jeton>> !
La confiance n'exclut pas le contrôle
0
Ok merci pour ta réponse, mais sinon dans la boucle on ne peut pas le faire directement? Sinon oui ma classe jeton est déjà crée pour ca il n'y a pas de souci ;)

Si il n'existe pas vraiment de moyen, dans ce cas est ce que je vais dans ma classe Ligne rajouter toutes les positions unes par unes, cela risque de faire un peu long, le truc c'est que j'aimerai optimiser à fond l'algo pour pouvoir tout stocket de manière simple et rapide...
0