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

Composants Java Discussion :

Afficher le contenu d'une JList dans des JTextField


Sujet :

Composants Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 19
    Points : 7
    Points
    7
    Par défaut Afficher le contenu d'une JList dans des JTextField
    Voila mon probleme je remplis ma JList avec une methode qui recherche mes clients dans ma base de donner en cherchant par la premier lettre du nom,
    si je tape C il m'affiche donc tout les client commencent par C

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
                if (rc.jCheckBoxNomClient.isSelected()) {
                    s = helper.getSessionFactory().openSession();
                    s.beginTransaction();
                    String nom = rc.jTextFieldRechNomClient.getText();
                    if (rc.jTextFieldRechNomClient.getText().length() == 0) {
                        JOptionPane.showMessageDialog(null, "Aucune entrer a rechercher", "Error", JOptionPane.ERROR_MESSAGE);
                    } else {
                        String SQL_QUERY = ("select client.client_id, client.client_nom, client.client_tel, client.client_email, "
                                + " client.client_adresse, client.client_num, commune.commune_nom, commune.commune_cp "
                                + " from client, commune "
                                + " where client_nom like '" + nom + "%'"
                                + " and client.commune_id = commune.commune_id");
                        Iterator results = s.createSQLQuery(SQL_QUERY).list().iterator();
                        listModel = new DefaultListModel();
                        mg.jListClient.setModel(listModel);
                        while (results.hasNext()) {
                            Object[] row = (Object[]) results.next();
                            listModel.addElement("N° Client: " + row[0] + " "
                                    + " Societé: " + row[1] + " "
                                    + " Telephone: " + row[2] + " "
                                    + " Email: " + row[3] + " "
                                    + " Adresse: " + row[4] + " "
                                    + " N°: " + row[5] + " "
                                    + " Commune: " + row[6] + " "
                                    + " Code Postal: " + row[7]);
     
                            mg.jListClient.addMouseListener(new MouseAdapter() {
                            public void mouseClicked(MouseEvent e) {
                                if (e.getClickCount() == 1) {
                                    String selected = "" + mg.jListClient.getSelectedIndex();
                                    mg.jTextFieldIdClient.setText(mg.jListClient.getSelectedValue().toString());
                                    mg.jTextFieldNomClient.setText(mg.jListClient.getSelectedValue().toString());
                                    mg.jTextFieldTelClient.setText(mg.jListClient.getSelectedValue().toString());
                                    mg.jTextFieldEmailClient.setText(mg.jListClient.getSelectedValue().toString());
                                    mg.jTextFieldAdresseClient.setText(mg.jListClient.getSelectedValue().toString());
                                    mg.jTextFieldNumClient.setText(mg.jListClient.getSelectedValue().toString());
                                    mg.jTextFieldComClient.setText(mg.jListClient.getSelectedValue().toString());
                                    mg.jTextFieldCpClient.setText(mg.jListClient.getSelectedValue().toString());
                                }
                            }
                        });
                        }
                        s.getTransaction().commit();
                        s.close();
                    }
                }
    Le probleme est que je n'arrive pas a prendre le premier element donc par exemple le row[0] pour setter le premier Jtextfield, il me remet tout les ellements dans chaques Jtextfield comme une phrases entière.

    Je ne sais pas si je dois redéfinir toString et je ne vois pas comment le redefinir :s

    petit image de ce que j’obtiens au clique d'une ligne de ma JList en piece jointe.
    Images attachées Images attachées  

  2. #2
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Points : 2 323
    Points
    2 323
    Par défaut
    Bonjour,

    la ligne c'est toi qui l'a mise en place en faisant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    "N° Client: " + row[0] + " "
                                    + " Societé: " + row[1] + " "
                                    + " Telephone: " + row[2] + " "
                                    + " Email: " + row[3] + " "
                                    + " Adresse: " + row[4] + " "
                                    + " N°: " + row[5] + " "
                                    + " Commune: " + row[6] + " "
                                    + " Code Postal: " + row[7]);
    Tu as concaténé tous tes champs donc il faut séparer les champs soit avant pour les sauvegarder soit après. Je te propose 2 solutions :

    - Avant : Stocker les row dans un tableau avant de concaténer les champs, ainsi tu auras accès à tes champs .

    - Après : Traiter ta ligne avec un petit truc, je vois bien un split sur le ":" puis un trim pour nettoyer les blancs, tu auras ainsi un tableau avec une case sur deux la valeur que tu veux.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    Je ne vois pas bien ce que tu veux que je fasse tu serais m’éclairer dans le code ?

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    1) au lieu de stocker des string dans ta liste, stocke soit un tableau, soit un objt à toi représentant un client (une classe à écrire donc)
    2) dans ton actionListener, tu récupère l'objet selectionné (via getSelectedValue) et tu en extrait (soit par index si t'as utilisé un tableau, soit via l'objet si t'as créé une classe Client) dont tu as besoin pour chaque textfield.

Discussions similaires

  1. [Débutant] Afficher le contenu d'une listview dans des textbox
    Par Martipit dans le forum VB.NET
    Réponses: 1
    Dernier message: 06/04/2013, 15h01
  2. Réponses: 8
    Dernier message: 26/08/2008, 15h09
  3. Réponses: 7
    Dernier message: 11/01/2008, 00h11
  4. [DLL] Afficher le contenu d'une dll dans un Tpanel
    Par Fabs dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/08/2007, 14h30
  5. [VBA-E] afficher les données d'une datagrid dans des zones de textes
    Par fadwa dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/05/2006, 13h51

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