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

AWT/Swing Java Discussion :

Comment récupérer des données d'une zone de texte pour les mettre dans une table


Sujet :

AWT/Swing Java

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Sénégal

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

    Informations forums :
    Inscription : Juillet 2017
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Comment récupérer des données d'une zone de texte pour les mettre dans une table
    Salut,

    Je prépare mon mémoire de BTS. Mon projet est la réalisation d'un logiciel de gesttion de caisse hospitalière. Mais depuis une semaine, je rencontre des problèmes. J'essaye de récupérer des données qui se trouvent dans une zone de texte (champs prénom et nom) et un item pour l'afficher dans une table mais ça bug. Voici le programme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     private void validActionPerformed(java.awt.event.ActionEvent evt) {                                      
            // TODO add your handling code here
            String entite[]={"prenom","Nom","Prestation"};
            String[] donnee[]=new String[0][3];
         DefaultTableModel model=new DefaultTableModel(donnee,entite);
            tfact.setModel(model);
            JScrollPane pan=new JScrollPane(tfact);
            JPanel panel=new JPanel();
            panel.add(pan);
     
            String a="";
                 String prenom=tprenom.getText();
                 String nom=tnom.getText();
                 if(evt.getSource()==valid){
                  a=(String)Cdent.getSelectedItem();
         System.out.println(prenom+" "+nom+" "+a);
                  }  
                 donnee[0][0]=prenom;
                 donnee[0][1]=nom;
                 donnee[0][2]=a;
     
     
        }
    Merci d'avance pour votre aide.

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Si tu crées un modèle de JTable à partir d'un tableau et que tu modifies le contenu du tableau après, le modèle de la JTable n'est pas impacté. Soit tu remplis ton tableau avant de créer le modèle, soit tu modifies le contenu de la JTable par le modèle (ou par la JTable, mais il faut faire attention aux transformations d'index de lignes et colonnes), avec la méthode setValueAt().

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    String[] donnee[]=new String[0][3];
     
    // on remplit le tableau
     String a="";
     String prenom=tprenom.getText();
     String nom=tnom.getText();
     if(evt.getSource()==valid){
                  a=(String)Cdent.getSelectedItem();
         System.out.println(prenom+" "+nom+" "+a);
     }  
     
     donnee[0][0]=prenom;
     donnee[0][1]=nom;
     donnee[0][2]=a;
     
    // on créé le modèle à partir du tableau
    DefaultTableModel model=new DefaultTableModel(donnee,entite);
     
    // on affecte le modèle à la JTable
            tfact.setModel(model);
    Attention, par ailleurs, à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
            JScrollPane pan=new JScrollPane(tfact);
            JPanel panel=new JPanel();
            panel.add(pan);
    tu crées un nouveau panel dans lequel tu mets un scrollpane qui contient la jtable. Il n'y a rien qui permet que ce panel soit affiché. Il faut mettre le JPanel dans un container (le content pane d'une JFrame par exemple, ou un autre JPanel qui est déjà dans une JFrame) et veillez également à ce qu'il n'y ait pas déjà un composant à l'emplacement pris par ce panel. Si le conteneur est déjà affiché à l'écran, il faudra appeler revalidate() dessus pour rafraichir le layout, et possiblement repaint() selon (tu peux l'appeler systématiquement pour être sûr).

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Sénégal

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

    Informations forums :
    Inscription : Juillet 2017
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci d avance pour l aide je vais tester a nouveau apres je vous recontacterai

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Sénégal

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

    Informations forums :
    Inscription : Juillet 2017
    Messages : 3
    Points : 1
    Points
    1
    Par défaut TOUJOURS DEMANDE D'AIDE DE PROJET BTS
    ca ne passe pas encore

    lorsque je compile il m affiche:

    run:
    Chargement du pilote reuissi
    Connection à la base de donnée reuissie
    abdoul gueye Extraction dentaire //de là nous le voyons mais on ne la pas dans l interface
    Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 0
    at Centre.patient.validActionPerformed(patient.java:521)
    at Centre.patient.access$800(patient.java:18)
    etc
    Nom : cp.PNG
Affichages : 779
Taille : 16,5 KoNom : Patient.PNG
Affichages : 732
Taille : 902,0 Ko

  5. #5
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Ah, oui, au temps pour moi, je n'avais pas fait attention :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String[] donnee[]=new String[0][3];
    Ton tableau a zéro ligne !
    C'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String[] donnee[]=new String[1][3];
    "ArrayIndexOutOfBoundsException", ça veut dire que tu essayes d'écrire dans un index de tableau hors limites.

Discussions similaires

  1. [COLDFUSION] Demande d'aide URGENTE
    Par dark vador 008 dans le forum Coldfusion
    Réponses: 1
    Dernier message: 18/06/2008, 17h14
  2. Demande d'aide urgente - Lien BD + Sécurité
    Par Jayjay1503 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 18/05/2007, 13h35

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