Jtable java

Résolu
chadiamak Messages postés 3 Date d'inscription mercredi 7 janvier 2009 Statut Membre Dernière intervention 17 juillet 2009 - 16 juil. 2009 à 23:11
chadiamak Messages postés 3 Date d'inscription mercredi 7 janvier 2009 Statut Membre Dernière intervention 17 juillet 2009 - 17 juil. 2009 à 17:39
Slt
SVP j'ai un pb en ce qui concerne les JTable
je travaille avec netBeans IDE 6.5 , Base de donnee mysql. je veux afficher la liste des livraison effectuer par un fournisseur, j'ai une interface qui offre la liste des fournisseurs existant dans la BD je veux cliquer sur un fournisseur qui est affiché au niveau d'un JTable apres cliquer sur un bouton qui m'enmene vers une autre interface qui sert a gerer les livraison(ajout, suppr et modif).
mon probleme c'est que l'orsque je veux recuperer le ID du fournisseur à partir du JTable par la commande
int index =Fournisseurs.jTable1.getSelectedRow();

il m'affiche que le jTable1 est privé , c'est declarer private par defaut par netBeans.
si quelqu'un a une solution pour ce pb .
merci d'avance.

4 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
17 juil. 2009 à 16:24
Salut,

"c'est un outil simple qui facilite le travail" : c'est justement ce que je lui reproche (à lui et à tout plugin pour eclipse de designer d'interface graphique) : il facilite TROP le travail, et masque énormément les rouages du code, et au final, les débutants n'apprennent pas le développement, il se limite aux possibilités offertes par ces outils. Le problème, c'est qu'il produit un code de bien piètre qualité, et ca rend un projet immaintenable ! C'est bien pour faire des maquettes graphiques très rapidement pour montrer à son chef à quoi va ressembler l'interface d'un programme, mais pour un code qui est mis en prod, je recommande vivement de faire le code à la main (surtout que l'illusion de gagner du temps en utilisant un tel outil n'est qu'une illusion : avec eclipse, en moins d'une minute en utilisant mon environnement que j'ai bien personnalisé, je fais une interface graphique complète avec des boutons, des listes, des tables, des menus, etc. Si j'utilise un designer graphique, j'en ai pour 30 minutes pour faire la même chose, avec une qualité de code bien différente !).

Et justement, ta question montre bien que tu es loin de maîtriser la java, et que netbeans te permet pas d'apprendre le langage : pour accèder à une méthode d'un objet qui n'est pas static (donc une vraie méthode d'objet), il faut passer par une instance de cet objet. Les méthodes statiques sont partagées entre tout les objets, et doivent se limiter aux méthodes sans états.

Donc au lieu de faire :
int id_fournisseur = Fournisseurs.getTableSelectedRow();

Il faut travailler avec ton instance de Fournisseurs.

Si par exemple tu l'as nommé fournisseursTest cela donne :
int id_fournisseur = fournisseursTest.getTableSelectedRow();

______________________________________
DarK Sidious
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
17 juil. 2009 à 07:54
Salut,

Je ne le répèterai jamais assez : c'est tout l'inconvénient d'utiliser un éditeur graphique : il vous bride les possibilités, et du coup, c'est à vous de faire pareil : rien ne vaut la productivité de tout faire à la main : avec les plugins de génération de code d'eclipse, sans prend bien moins de temps, et au moins vous savez ce que vous faites et pourquoi vous le faites ! Le code généré par Netbeans et illisible, immaintenable, et surtout, bride la création du développeur ! (surtout que jTable1 est très loin d'être un nom lisible !)

Mais si tu veux vraiment continuer à utiliser l'éditeur graphique de netbeans, alors pense à faire un getter de la propriété qui t'intéresse à l'extérieur de la classe :
public int getTableSelectedRow() {
  return jTable1.getSelectedRow(); // N'OUBLIE PAS DE RENOMME JTABLE1 : C'EST ILLISIBLE POUR UN DEVELOPPEUR AUTRE QUE TOI
}

______________________________________
DarK Sidious
0
chadiamak Messages postés 3 Date d'inscription mercredi 7 janvier 2009 Statut Membre Dernière intervention 17 juillet 2009
17 juil. 2009 à 16:14
1 erement je vous remercie pour pour votre reponse
2 ement je prefere travailler avec netbeans car c'est un outil simple qui facilite le travail, c'est vrai que travailler avec son propre code a la main. en plus c'est un sujet de mon stage de fin d'année c'est obligatoire de travailler avec.

j'ai essayer la methode que vous proposer mais lorsque je fait l'appel a la methode getTableSelectedRow() il m'affiche une erreur "non static methode getTableSelectedRow() cannot be referenced for a static context"

int id_fournisseur = Fournisseurs.getTableSelectedRow();

si vous pouvez me dire quelle elle est le pb.
0
chadiamak Messages postés 3 Date d'inscription mercredi 7 janvier 2009 Statut Membre Dernière intervention 17 juillet 2009
17 juil. 2009 à 17:39
merci pour votre reponse, c'est vrai que je suis un debutant en java mais avec vos reponses que je vais ameliorer mon niveau.
0
Rejoignez-nous