correspondance tableau deux dimensions - gridlayout [résolu]

correspondance tableau deux dimensions - gridlayout [résolu] - Java - Programmation

Marsh Posté le 06-05-2005 à 16:34:41    

Bonjour,
 
J'ai un gridLayout qui contient des boutons, quand on click sur le bouton des évènements sont générés. J'aimerais récupérer quelque chose qui me donne le rang du bouton dans le gridLayout, soit deux coordonnées qui me donne sa place dans la i-ème ligne, j-ième colonne, soit qui me donne son rang parmi les nbBoutons crées.
 La seule chose qui semble se rapprocher de ce que je veux est container.getComponentZOrder() mais il me jette à chaque fois que j'essaie de l'utiliser:
 
mon gridLayout :

Code :
  1. grilleBoutons.setLayout ( new GridLayout (  nHauteur , nLargeur ) ) ;


 
et le message d'erreur que j'ai quand j'essaie d'utiliser container.getComponentZOrder() :

Code :
  1. ./FenetreJeu.java:155: cannot resolve symbol
  2. symbol  : method getComponentZOrder (javax.swing.JButton)
  3. location: class java.awt.Container
  4.                 System.out.println ( "ordre : " + grilleBoutons.getComponentZOrder(  target ) ) ;


 
Target étant :

Code :
  1. JButton target = ( JButton ) ev .getSource () ;


 
@++


Message édité par chaica le 06-05-2005 à 17:07:06

---------------
Du taf dans le Logiciel Libre : https://www.linuxjobs.fr
Reply

Marsh Posté le 06-05-2005 à 16:34:41   

Reply

Marsh Posté le 06-05-2005 à 16:50:01    


Une idée, peut-être décalée par rapport à ton besoin...
 
Au moment de la création de chaque JButton, stocker en son sein son rang dans le GridLayout, de manière à ce que le listener puisse le récupérer.
 
Nicolas

Reply

Marsh Posté le 06-05-2005 à 16:56:09    

en créant une classe qui hérite de JButton et en rajoutant un champ qui stocke le rang?  
Sinon j'ai trouvé mon affaire avec component.getComponentCount() mais c'est assez laid, je dois à chaque fois parcourir le tableau résultant.
Je vais essayer ce que tu me conseilles.


---------------
Du taf dans le Logiciel Libre : https://www.linuxjobs.fr
Reply

Marsh Posté le 06-05-2005 à 17:06:39    

Nickel, ta solution est plus propre. Je n'avais pas pensé à hériter de JButton. Merci bcp.


---------------
Du taf dans le Logiciel Libre : https://www.linuxjobs.fr
Reply

Sujets relatifs:

Leave a Replay

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