Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1704 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Pb de dessin dans un Jpanel au moment d'un clique....

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Pb de dessin dans un Jpanel au moment d'un clique....

n°1261927
Profil sup​primé
Posté le 08-12-2005 à 17:07:08  answer
 

Bonjour,
 
L'objectif : Réaliser un puissance 4 qui graphiquement se compose d'un gridlayout decomposé en petit Jpanel.
 
On sait qu'on peut identifier le Jpanel par un indice (qui est affecté au moment de la création du gridlayout).
 
Dans un puissance 4, (différent du morpion), au moment du clique sur la zone, il faut que le rond se dessine en bas (vu que ça tombe).
 
 
J'ai réussi à modifier l'indice du Jpanel (où on clique), par contre lors de l'appel à la fonction repaint() (qui ne fait que de dessiner un rond par exemple).
 
Celui-ci se dessine  toujours la où le clique de la souris s'effectue sur l'écran malgrès le changement d'indice.
 
Comment faire pour dessiner à l'endroit du nouvel indice.
 
Le programme se compose de trois classes :
 
- Fenetre : elle crée la grille composée d'un nombre donnée de Jpanel
- ZoneGraphique (extends Jpanel) : C'est le petit carré dans la grille, et c'est la qu'on défini paintComponent() qui fait le dessin des ronds par ex.
- Partie : où il y a la gestion du jeu (comme par exemple rechercher le nouvelle indice), c'est ici qu'on change l'indice et qu'on appelle repaint.
 
Il faut savoir que l'interface graphique s'appuie sur un tableau à 2D pour la gestion du jeu.
 
 
En gros :
 
 
clique sur une case (une ZoneGraphique)  >>>  changement de l'indice courant grâce à une fonction dans Partie >>> Appel à repaint avec ce nouvel
                                                                                                                                                                                      indice
 
 
 
 
L'indice change bien (on a vérifié, ZoneGraphique.GetIndice() renvoi bien le nouvel indice) mais le dessin se fait toujours au même endroit (comme si la souris reprennait l'indice original)
 
 :cry:  :cry:  :cry:

mood
Publicité
Posté le 08-12-2005 à 17:07:08  profilanswer
 

n°1263142
Profil sup​primé
Posté le 09-12-2005 à 20:53:17  answer
 

Une idée, SVP

n°1265446
Profil sup​primé
Posté le 13-12-2005 à 13:33:23  answer
 

SVP, ça me bloque complètement l'avancement

n°1265609
Bidem
Posté le 13-12-2005 à 15:28:03  profilanswer
 

Le fait de changer l'indice de ton JPanelne change pas sa place dans la grille.
 
En fait, tu prends le problème à l'envers. Ce que tu dois faire quand on clique sur une ZoneGraphique, au lieu de la déplacer tu dois déterminer l'indice de la zone où tu dois dessiner le jeton

n°1269016
Profil sup​primé
Posté le 17-12-2005 à 18:18:17  answer
 

C'est exactement ce que je fais.
 
Je modifier l'indice et je lance la fonction paint.
 
Cette fonction est appélé autant de fois qu'il y a de Jpanel dans le GridLayout, mais le dessin se fait toujours la ou le clique de la souris a eu lieu malgrès le changement d'indice.
 
Ce qui me va pas, une autre idée peut etre.....???

n°1269748
Bidem
Posté le 19-12-2005 à 10:20:58  profilanswer
 

Tu ne dois pas changer l'indice du JPanel sur lequel tu cliques mais plutot déterminer quel JPanel redessiner, et lui dire de changer d'état. Ensuite tu lance paint().

n°1269775
trevor
laissez la vie vous étonner...
Posté le 19-12-2005 à 11:01:37  profilanswer
 

je ne sais pas quelle est la méthode pour récupérer l'"indice" du JPanel dans le GridLayout (j'ai rapidement cherché sans trouver), mais je suppose qu'elle te revoit qqch du genre (X,Y) non ?
moi je te conseille de te faire une table des correspondances que tu mets à jour à chaque coup, avec un découpage par colonne (Y) indiquant pour chaque colonne quel est le premier (X) vide, ie un truc du genre tab[Y] = X


Message édité par trevor le 19-12-2005 à 11:01:56

---------------
TReVoR - http://dev.arqendra.net - http://info.arqendra.net
n°1270433
Profil sup​primé
Posté le 20-12-2005 à 01:22:35  answer
 

Je vais regarder ça et je vous tiens au courant...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Pb de dessin dans un Jpanel au moment d'un clique....

 

Sujets relatifs
JTextArea dans JPanel, JTextArea est trop petit dans le Panel[Java] Centrer un label dans un JPanel
Comment changer de valeur d'un <select> quand on clique dessus ?[Debutant]besoin d'aide pour dessiner dans un JPanel
problème avec un Jpanel[HTML] Truc a la con lancer une musique quand on clique sur une image
affichage dessinModifier un JPanel (ou Frame) pendant l'exécution d'un prog
[swing][debutant]pb de JPanelexecuter une macro à partir d'un double clique dans une feuille excel
Plus de sujets relatifs à : Pb de dessin dans un Jpanel au moment d'un clique....


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR