IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JDBC Java Discussion :

problème Jtable & JTextField


Sujet :

JDBC Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2010
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 86
    Points : 33
    Points
    33
    Par défaut problème Jtable & JTextField
    bonjour , je développe une application JAVA avec un IDE Netbeans 7.3 , en fait , j'ai deux interfaces , la première interface contient un JTABLE qui contient les champs (nom , type , etat) (ces champs sont récupérer de la base)
    la deuxième interface contient un formulaire où on trouve des JTEXTFIELD (leur contenu est récupérer de cette jtable ) , c'est à dire on récupère le contenu des champs d'une ligne sélectionnée ,
    ma méthode est :

    1/ récupérer l'indice du ligne sélectionnée
    2/ récupérer le contenu de cette ligne dans ces textfield

    mon problème : c'est que je suis bloqué dans l'étape 1 , en fait j'ai voulu récupérer l'indice de la ligne sélectionné et de l'afficher sur le console
    mais le problème c'est que toujours il m'affiche -1 (c'est à dire aucune ligne sélectionnée)
    même j'ai essayé de compter le nombre de ligne dans cette JTABLE , mais , il m'affiche 0

    voilà le code que j'ai écrit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ....
    *int a;
    ********a = new gestion().list.getSelectedRow();
    ********System.out.println(a);
    *int b ;
    ********b = new gestion().list.getRowCount();
    ********System.out.println(a);
    gestion() : une classe où se trouve le jtable
    list : c'est le nom de jtable

  2. #2
    Membre averti
    Avatar de omar344
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2007
    Messages
    287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2007
    Messages : 287
    Points : 301
    Points
    301
    Par défaut
    Citation Envoyé par zied_m Voir le message
    mon problème : c'est que je suis bloqué dans l'étape 1 , en fait j'ai voulu récupérer l'indice de la ligne sélectionné et de l'afficher sur le console
    mais le problème c'est que toujours il m'affiche -1 (c'est à dire aucune ligne sélectionnée)
    même j'ai essayé de compter le nombre de ligne dans cette JTABLE , mais , il m'affiche 0
    ça pourrait être dû au fait que list est vide

  3. #3
    Nouveau membre du Club
    Inscrit en
    Décembre 2010
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 86
    Points : 33
    Points
    33
    Par défaut
    Non, je suis sur que la liste (jtable) est remplis par 5 enregistrement

  4. #4
    Membre habitué
    Profil pro
    Opération
    Inscrit en
    Décembre 2012
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Opération

    Informations forums :
    Inscription : Décembre 2012
    Messages : 91
    Points : 188
    Points
    188
    Par défaut
    si JTable.getSelectedRow() retourne -1 c'est qu'aucune ligne n'est sélectionnée
    si JTable.getRowCount() retourne 0 c'est que JTable.getModel().getRowCount() retourne 0 (ou JTable.getModel() == null)

    si vous êtes sûr d'avoir ajouté 5 enregistrements c'est que vous les avez effacés ou vous les avez ajoutés à une autre liste ou que utilisez un TableModel boggé...

  5. #5
    Membre averti
    Avatar de omar344
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2007
    Messages
    287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2007
    Messages : 287
    Points : 301
    Points
    301
    Par défaut
    Citation Envoyé par zied_m Voir le message

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    a = new gestion().list.getSelectedRow();
    Voici ce que je comprend de ce code:
    -tu as une classe gestion()
    - dans cette classe t'as un JTable() qui est dynamique
    Si c'est le cas; ton code doit être comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    gestion gest=new gestion();
    /* méthodes de remplissage de list */
    int a=gest.list.getSelectedRow();

  6. #6
    Nouveau membre du Club
    Inscrit en
    Décembre 2010
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 86
    Points : 33
    Points
    33
    Par défaut
    ça pas marcher :'(
    mais en exécutant le code une autre fois , le résultat s'est changé :

    pour le list_cam.getSelectedRow() , il m'a affiché -1 (aucune ligné sélectionnée)

    pour le list_cam.getRowCount() , il m'a affiché 4 (sachant que j'ai diminué le nombre d'enregistrement à 2 )

  7. #7
    Nouveau membre du Club
    Inscrit en
    Décembre 2010
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 86
    Points : 33
    Points
    33
    Par défaut
    je crois que le problème c'est lors de l'appel de la classe gestion

    car quand je fait new gestion() ==> il fait une nouvelle instance de cette classe , c'est à dire , il considère que mon jtable est vide

    par contre , j'ai copié ce code dans la classe gestion , ça marche correctement ...

    est ce qu'il y a une méthode d'appeler une classe externe sans utiliser le mot clé NEW !!!!?

  8. #8
    Membre averti
    Avatar de omar344
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2007
    Messages
    287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2007
    Messages : 287
    Points : 301
    Points
    301
    Par défaut
    C'est ce que je disais dans mon dernier poste mais on s'est pas compris, alors lorsque tu utilises new() tu crées une nouvelle instance, et pour agir sur cette instance il faut utiliser des méthodes, c'est à dire pour agir sur list il faut crée une méthode pour la remplir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public class gestion {
    public void remplir() {
    //méthode de remplissage de list
    }
    }
    et pour l'utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    gestion gest=new gestion();
    gest.remplir();

Discussions similaires

  1. JTable avec JTextField
    Par ulysse031 dans le forum Composants
    Réponses: 5
    Dernier message: 23/11/2007, 19h47
  2. Problème avec un JTextField (Event)
    Par Mike888 dans le forum Composants
    Réponses: 3
    Dernier message: 24/06/2007, 16h11
  3. Problème JTable : le texte disparaît
    Par akrobat dans le forum Composants
    Réponses: 1
    Dernier message: 12/06/2007, 11h41
  4. Problème avec un JTextField
    Par yLaplace dans le forum Composants
    Réponses: 26
    Dernier message: 13/02/2007, 19h06
  5. Un problème dans un JTextField
    Par cysboy dans le forum Composants
    Réponses: 7
    Dernier message: 28/08/2006, 11h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo