larissaMoi
Messages postés1Date d'inscriptionsamedi 16 décembre 2000StatutMembreDernière intervention14 juillet 2008
-
14 juil. 2008 à 16:32
uhrand
Messages postés491Date d'inscriptionsamedi 20 mai 2006StatutMembreDernière intervention15 juillet 2012
-
16 juil. 2008 à 23:01
Bonjour à tous!
Je suis nouvelle dans le developpement en Java et je sollicite votre aide dans l'utilisation des JTable.
En effet, j'ai une table à 3 colonnes (A, B et C). Les colonnes A et C sont éditables. Je souhaiterait qu'à la saisie d'une valeur dans la colonne A, la colonne C de la ligne correspondante recoivent comme valeur : Valeur(A)*Valeur(B).
tlaloctzin
Messages postés136Date d'inscriptionmercredi 21 juin 2006StatutMembreDernière intervention12 septembre 20133 15 juil. 2008 à 13:13
Alors moi j aurais fais commec a ( c 'est pas dit que ce soit le top ! :p)
1) Tu rajoutes un KeyListener a ta class
ex : publicMaClassextendsJFrameimplementsKeyListener
2) Tu ajoutes le keylistener a ta table :
jTable1.addKeyListener( this ) ;
3) Tu implémentes tes methodes découlant de l'interface KeyListener soit
-public voidkeyPressed(KeyEvent evt)
-public voidkeyTyped(KeyEvent evt)
-public voidkeyReleased(KeyEvent evt)//celle qui nous interesse
4) Tu fais ta methode de traitement dans la released
public voidkeyReleased(KeyEvent evt){
//récuperation de la ligne séléctionée
int row = jTable1.getSelectedRow(); //on essaye
try{
//en gros a chaque fois qu une touche du clavier est relachée on recup
//la ligne selectionée puis les valeures (en String) des cellules 1 et 2
//on transphorme ces string en int , on les multiplies et on aloue la valeure
//a la cellule 3
uhrand
Messages postés491Date d'inscriptionsamedi 20 mai 2006StatutMembreDernière intervention15 juillet 20129 16 juil. 2008 à 23:01
Une autre manière est d'ajouter un TableModelListener.
Ou encore: intégrer le calcul dans ta propre implémentation de la méthode "setValueAt" du "TableModel".