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 :

Récupérer la sélection JListe dans un TexField appartenant à une autre classe


Sujet :

Composants Java

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2012
    Messages : 19
    Points : 8
    Points
    8
    Par défaut Récupérer la sélection JListe dans un TexField appartenant à une autre classe
    bonsoir, je viens de développer une application en java, et ça fait des jour que je rencontre un problème
    j’utilise un JListe pour récupérer les contenue d'une requête sql select, jusqu’à ici il n' y a pas de problème et je veux maintenant que lorsque je sélectionne une ligne de le liste il m'affiche dans un textfield appartenant dans une autre classe le contenu de cette ligne
    voila la méthode qui retourne le contenu d'une ligne sélectionné dans une liste



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public String getListe()
    	{ 		
     
     
    		String texte=list_1.getSelectedItem();
    		return texte;
    	}
    et dans le deuxième classe je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Maclasse fr=new Maclasse();
    System.out.println("mon message est: "+fr.getListe());
    textField.setText(fr.getListe());
    le problème qui n'y pas des erreurs mais toujours le texfield est vide!!!
    et dans la console il m'affiche:" mon message est: null"

    merci pour vous réponses

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 61
    Points : 57
    Points
    57
    Par défaut
    mmh, il y a des trucs bizarres dans ton code.
    Si list_1 est une JList, alors la méthode pour récupérer un item de la liste est getSelectedValue() et non pas getSelectedItem() (qui n'existe pas pour cette classe).

    Et si tu as une valeur null, c'est que tu n'as pas sélectionné d'élément dans ta JList (comme le dit la Javadoc).

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2012
    Messages : 19
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par M4veR1K Voir le message
    mmh, il y a des trucs bizarres dans ton code.
    Si list_1 est une JList, alors la méthode pour récupérer un item de la liste est getSelectedValue() et non pas getSelectedItem() (qui n'existe pas pour cette classe).

    Et si tu as une valeur null, c'est que tu n'as pas sélectionné d'élément dans ta JList (comme le dit la Javadoc).
    bonjour, j'ai essayé avec getSelectedValue() mais il ne l'accepte pas elle est marqué comme erreur!!!!!!!!!, en faite list_1 c'est une Liste et non JListe
    par contre j'ai réussis a récupérer la sélection dans la liste avec getSelectedItem() , j'ai déjà essayé la fonction de récupération dans la même classe et c'est bon ça marche et je récupère a chaque fois le texte sélectionné mais lorsque je fais appel a cette méthode dans le deuxième classe toujours le valeur est null!!!!!

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 61
    Points : 57
    Points
    57
    Par défaut
    Alors il va falloir que tu montres un peu plus de code. Car je ne sais pas comment t'aider avec le peu que j'ai actuellement.

    Si tu fais une application avec Swing, je te conseille de l'utiliser un maximum à la place de AWT. Globalement, si tu pouvais utiliser JList à la place de List, ça ne pourrait être que bénéfique (même si ce n'est surement pas ça qui va résoudre ton soucis). (La plupart des composants Swing commence par J)

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2012
    Messages : 19
    Points : 8
    Points
    8
    Par défaut
    j'ai essayé de travailler avec JListe mais le problème que lorsque je place JListe sur le panel il sera placé mais je ne peux pas le voir même lorsque je compile et lorsque je lui ajoute le SCRollPane il est marqué comme erreur par contre pour le Liste je n'ai aucun problème
    voila un extrait du mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    private List list_1 =new List();
    list_1.setBounds(45, 56, 213, 292);
    		panel_2.add(list_1);
    		list_1.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent arg0) {
     
    				System.out.println("l'element selectionné est:" +list_1.getSelectedItem());
    			}
    		});
    j'ai placé un écouteur ici qui renvoi a chaque fois l’élément sélectionner
    les éléments de la liste sont la résultat d'une requête sql SELECT, voila la méthode que je l'ai définit :
    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
    public void affiche()
    	   {
    			try
    			{
    				Class.forName("com.mysql.jdbc.Driver");  	
    				 con=DriverManager.getConnection("jdbc:mysql://localhost/laboratoire","root",""); 
    			  Statement stm=con.createStatement();
    			  ResultSet res=stm.executeQuery("select *from client ;");
     
    			while (res.next())
    			      {
    			      	list_1.add(res.getString(2));		
    			      }	
     
    		         con.close();
     
    			  }catch (Exception el)
    			     {
    			         System.out.println("ERROR :"+el.getMessage());
    			     }
    		}
    jusqu'à ici il n' y a pas des problèmes , j'ai récupéré les données dans ma liste et je veut maintenant afficher l’élément sélectionné dans la liste dans un textfield appartenant dans la 2 classe,j'ai définit alors la méthode suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public String getListe()
    	{ 	
     
    		String texte=list_1.getSelectedItem() ;
    		return texte;
    	}

    et dans la deuxième classe j'ai fais un appel à la méthode comme suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
       Fornisseur f=new Fornisseur();
    String a=	f.getListe();
    textField.setText(a);
    remarque fournisseur c'est ma prémiére classe ou j'ai définit ma méthode getListe

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 61
    Points : 57
    Points
    57
    Par défaut
    Franchement, avec le code que tu as donné, je ne vois pas ce qui peut causer ton problème hors le fait qu'au moment où tu appelles f.getListe(), il n'y a aucun item sélectionné dans ta liste.
    Citation Envoyé par javadoc
    getSelectedItem

    public String getSelectedItem()
    Get the selected item on this scrolling list.
    Returns:
    the selected item on the list, or null if no item is selected.
    JList marcherait mieux dans un JScrollPane que dans un ScrollPane. Qui ferait mieux de se trouver dans JPanel et non Panel, qui lui même serait bien dans une JFrame et non pas Frame (etc.).

    Voilà du code pour afficher une JList dans un JPanel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    JPanel pnlList = new JPanel(new BorderLayout());
    JList list = new JList(); // avec jre7, ce serait plutôt JList<String> list = new JList<>();
    list.setBorder(BorderFactory.createLineBorder(Color.BLACK));
     
    pnlList.add(list);
    Pour la remplir tu ferais alors quelque chose dans ce genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ArrayList<String> lstData = new ArrayList<String>();
    while (res.next())
    {
    	lstData.add(res.getString(2));		
    }
     
    list.setListData(lstData.toArray(new String[0]));

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2012
    Messages : 19
    Points : 8
    Points
    8
    Par défaut
    bonsoir, merci beaucoup de m'avoir répondre c'est très gentil de votre part
    j'ai essayé d'ajouter le JListe mais comme d’habitude il est invisible sur le panel malgré qu'il est bien placé, c'est bizarre et je sais pas quoi faire??c'est pour cela que j'ai travaillé avec la Liste.
    et d'autre part le fonction getListe toujours affiche null!!!!!!!!!
    et autre chose, j'ai rencontré le même problème lorsque j'ai voulu récupérer le contenu d'un textfield appartenant a une classe A dans un autre textfield appartenant a une classe B, sauf lorsque j'ai initialisé le premier textfield par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    textField.setText("mon texte");
    j'ai pu ici récupérer le même texte dans le deuxième textfield
    donc le probléme ne vient pas de la liste mais comme ci le compilateur ne prend en charge que la valeur par défaut qui est null.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 61
    Points : 57
    Points
    57
    Par défaut
    Tu développes avec quel outil ?

    Je ne vois toujours pas ce qui pourrait causer ton soucis. A ce niveau la, il serait bien de mettre le code complet de tes deux classes en cause.

  9. #9
    Futur Membre du Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2012
    Messages : 19
    Points : 8
    Points
    8
    Par défaut
    bonjour,je développe mon application avec eclipse indigo
    voila le code de la première classe Fornisseur qui contient la liste:

    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    358
    359
    360
    361
    362
    363
    364
    365
    366
    367
    368
    369
    370
    371
    372
    373
    374
    375
    376
    377
    378
    379
    380
    381
    382
    383
    384
    385
    386
    387
    388
    389
    390
    391
    392
    393
    394
    395
    396
    397
    398
    399
    400
    401
    402
    403
    404
    405
    406
    407
    408
    409
    410
    411
    412
    413
    414
    415
    416
    417
    418
    419
    420
    421
    422
    423
    424
    425
    426
    427
    428
    429
    430
    431
    432
    433
    434
    435
    436
    437
    438
    439
    440
    441
    442
    443
    444
    445
    446
    447
    448
    449
    450
    451
    452
    453
    454
    455
    456
    457
    458
    459
    460
    461
    462
    463
    464
    465
    466
    467
    468
    469
    470
    471
    472
    import java.awt.BorderLayout;
    import java.awt.EventQueue;
    import java.sql.*;
    import javax.swing.*;
    import java.awt.*;
    import javax.swing.event.*;
    import javax.swing.event.ListSelectionListener;
     import java.awt.event.*;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.border.EmptyBorder;
    import javax.swing.border.CompoundBorder;
    import javax.swing.border.EtchedBorder;
    import javax.swing.border.SoftBevelBorder;
    import javax.swing.border.BevelBorder;
    import javax.swing.UIManager;
    import javax.swing.JLabel;
    import java.awt.Font;
    import javax.swing.JTextField;
    import javax.swing.JList;
    import java.awt.List;
    import javax.swing.AbstractListModel;
    import java.awt.Color;
    import javax.swing.JButton;
    import java.awt.Button;
    import java.awt.event.ActionListener;
    import java.awt.event.ItemListener;
    import java.awt.event.ActionEvent;
    import javax.swing.event.ListDataListener;
    import javax.swing.event.ListSelectionEvent;
    public class Fornisseur extends JFrame  {
     
    	private JPanel contentPane;
        final JTextField textField;
    	private JTextField textField_1;
    	private JTextField textField_2;
    	private JTextField textField_3;
    	private JTextField textField_4;
    	private JTextField textField_5;
    	private JTextField textField_6;
    	private JTextField textField_7;
    	private JTextField textField_8;
    	private JTextField textField_9;
    	private JTextField textField_10;
    	private JTextField textField_11;
    	private  ResultSet rs= null;
    	Connection con = null;
    	Statement stmt=null;
        List list_1 =new List();
     
     
    	/**
             * Launch the application.
             */
    	public static void main(String[] args) {
    		EventQueue.invokeLater(new Runnable() {
    			public void run() {
    				try {
    					Fornisseur frame = new Fornisseur();
    					frame.setVisible(true);
    					frame.setTitle("Gestion des Fournisseurs");
    				} catch (Exception e) {
    					e.printStackTrace();
    				}
    			}
    		});
    	}
     
    	/**
             * Create the frame.
             */
    	public Fornisseur() {
     
    		try
    		   {
    			Class.forName("com.mysql.jdbc.Driver");
    		   } catch (ClassNotFoundException e)
    		      {}
    		try {
    			 con=DriverManager.getConnection("jdbc:mysql://localhost/laboratoire","root","");
    		    } catch(SQLException e) { }
    		executeRequest() ;
    		select();
     
    		       /**  menu bar   **/
     
    		JMenuBar br=new JMenuBar();
    		JMenu a=new JMenu("Fournisseur");
    		JMenu c=new JMenu("Actions");
    		JMenuItem nouveau=new JMenuItem("nouveau fournisseur");
    		JMenuItem Quitter=new JMenuItem("Quitter");
    		JMenuItem commander =new JMenuItem("commander");
    		a.add(nouveau);
    		a.addSeparator();
    		a.add(Quitter);
    		c.add(commander);
    		br.add(a);
    		br.add(c);
    		this.setJMenuBar(br);
    		commander.addActionListener(new ActionListener() 
    		   {
    				public void actionPerformed(ActionEvent arg0)
    				{
    					Commander fram = new Commander();
    					fram.setVisible(true);
    		        }
    			});
     
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setBounds(100, 100, 819, 665);
    		contentPane = new JPanel();
    		contentPane.setBorder(new EtchedBorder(EtchedBorder.LOWERED, null, null));
    		contentPane.setLayout(null);
    		setContentPane(contentPane);
     
    		JPanel panel = new JPanel();
    		panel.setLayout(null);
    		panel.setBorder(UIManager.getBorder("DesktopIcon.border"));
    		panel.setBounds(20, 31, 723, 67);
    		contentPane.add(panel);
     
     
    		JPanel panel_1 = new JPanel();
    		panel_1.setLayout(null);
    		panel_1.setBorder(new EtchedBorder(EtchedBorder.LOWERED, null, null));
    		panel_1.setBounds(10, 98, 419, 482);
    		contentPane.add(panel_1);
     
    		JLabel Fournisseur = new JLabel("Fournisseur :");
    		Fournisseur.setFont(new Font("Vani", Font.BOLD, 12));
    		Fournisseur.setBounds(23, 25, 96, 14);
    		panel_1.add(Fournisseur);
     
    		JLabel Adresse = new JLabel("Responsable :");
    		Adresse.setFont(new Font("Vani", Font.BOLD, 12));
    		Adresse.setBounds(26, 62, 96, 14);
    		panel_1.add(Adresse);
     
    		JLabel Ville = new JLabel("Domaine : ");
    		Ville.setFont(new Font("Vani", Font.BOLD, 12));
    		Ville.setBounds(26, 103, 93, 14);
    		panel_1.add(Ville);
     
    		JLabel lblCodePostal = new JLabel("Code Postal :");
    		lblCodePostal.setFont(new Font("Vani", Font.BOLD, 12));
    		lblCodePostal.setBounds(23, 192, 109, 14);
    		panel_1.add(lblCodePostal);
     
    		JLabel lblResponsable = new JLabel("Adresse:");
    		lblResponsable.setFont(new Font("Vani", Font.BOLD, 12));
    		lblResponsable.setBounds(23, 145, 109, 14);
    		panel_1.add(lblResponsable);
     
    		JLabel lblTel = new JLabel("Tel :");
    		lblTel.setFont(new Font("Vani", Font.BOLD, 12));
    		lblTel.setBounds(23, 329, 56, 14);
    		panel_1.add(lblTel);
     
    		JLabel lblFax = new JLabel("Fax :");
    		lblFax.setFont(new Font("Vani", Font.BOLD, 12));
    		lblFax.setBounds(246, 329, 46, 14);
    		panel_1.add(lblFax);
     
    		JLabel lblNTva = new JLabel("N TVA :");
    		lblNTva.setFont(new Font("Vani", Font.BOLD, 12));
    		lblNTva.setBounds(23, 369, 46, 14);
    		panel_1.add(lblNTva);
     
    		JLabel lblRferance = new JLabel("R\u00E9ference :");
    		lblRferance.setFont(new Font("Vani", Font.BOLD, 12));
    		lblRferance.setBounds(26, 456, 96, 14);
    		panel_1.add(lblRferance);
     
     
    		textField = new JTextField();
    		textField.setBounds(128, 20, 216, 20);
    		panel_1.add(textField);
    		textField.setColumns(10);
     
    		textField_1 = new JTextField();
    		textField_1.setBounds(127, 62, 217, 20);
    		panel_1.add(textField_1);
    		textField_1.setColumns(10);
     
    		textField_2 = new JTextField();
    		textField_2.setBounds(128, 98, 216, 20);
    		panel_1.add(textField_2);
    		textField_2.setColumns(10);
     
    		textField_3 = new JTextField();
    		textField_3.setBounds(128, 140, 216, 20);
    		panel_1.add(textField_3);
    		textField_3.setColumns(10);
     
    		textField_4 = new JTextField();
    		textField_4.setBounds(128, 187, 216, 20);
    		panel_1.add(textField_4);
    		textField_4.setColumns(10);
     
    		textField_5 = new JTextField();
    		textField_5.setBounds(222, 226, 217, 20);
    		panel_1.add(textField_5);
    		textField_5.setColumns(10);
     
    		textField_6 = new JTextField();
    		textField_6.setBounds(127, 277, 217, 20);
    		panel_1.add(textField_6);
    		textField_6.setColumns(10);
     
    		textField_7 = new JTextField();
    		textField_7.setBounds(127, 324, 109, 20);
    		panel_1.add(textField_7);
    		textField_7.setColumns(10);
     
    		textField_8 = new JTextField();
    		textField_8.setBounds(294, 324, 115, 20);
    		panel_1.add(textField_8);
    		textField_8.setColumns(10);
     
    		JLabel lblNewLabel_2 = new JLabel("Ville  :");
    		lblNewLabel_2.setFont(new Font("Vani", Font.BOLD, 12));
    		lblNewLabel_2.setBounds(23, 231, 46, 14);
    		panel_1.add(lblNewLabel_2);
     
    		textField_9 = new JTextField();
    		textField_9.setBounds(128, 364, 216, 20);
    		panel_1.add(textField_9);
    		textField_9.setColumns(10);
     
    		JLabel lblNewLabel_3 = new JLabel("Pays :");
    		lblNewLabel_3.setFont(new Font("Vani", Font.BOLD, 12));
    		lblNewLabel_3.setBounds(23, 282, 46, 14);
    		panel_1.add(lblNewLabel_3);
     
    		textField_10 = new JTextField();
    		textField_10.setBounds(127, 402, 217, 20);
    		panel_1.add(textField_10);
    		textField_10.setColumns(10);
     
    		textField_11 = new JTextField();
    		textField_11.setBounds(128, 451, 216, 20);
    		panel_1.add(textField_11);
    		textField_11.setColumns(10);
     
    		JLabel lblEmail = new JLabel("EMail :");
    		lblEmail.setFont(new Font("Vani", Font.BOLD, 12));
    		lblEmail.setBounds(23, 405, 46, 14);
    		panel_1.add(lblEmail);
     
    		JPanel panel_2 = new JPanel();
    		panel_2.setLayout(null);
    		panel_2.setBorder(new EtchedBorder(EtchedBorder.LOWERED, null, null));
    		panel_2.setBounds(456, 121, 322, 473);
    		contentPane.add(panel_2);
     
    				        /**  ajouter uen liste   **/
     
    		list_1.setMultipleSelections(false);
    		list_1.setBounds(45, 56, 213, 292);
    		panel_2.add(list_1);
    		list_1.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent arg0) {
     
    				System.out.println("l'element selectionné est:" +list_1.getSelectedItem());
    			}
    		});
     
     
     
    		JButton btnNewButton = new JButton("nouveau\r\n");
    		btnNewButton.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent arg0) {
    				   textField_11.setText("");
    				   textField.setText("");
    				   textField_1.setText("");
    				   textField_2.setText("");
    				   textField_3.setText("");
    				   textField_4.setText("");
    				   textField_5.setText("");
    				   textField_6.setText("");
    				   textField_7.setText("");
    				   textField_8.setText("");
    				   textField_9.setText("");
    				   textField_10.setText("");
     
    			}
    		});
    		btnNewButton.setBounds(10, 33, 89, 23);
    		panel.add(btnNewButton);
     
    		JButton btnNewButton_1 = new JButton("Supprimer");
    		btnNewButton_1.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent arg0) {
    				 supprimer();
    			}
    		});
    		btnNewButton_1.setBounds(206, 33, 89, 23);
    		panel.add(btnNewButton_1);
     
    		JButton btnNewButton_2 = new JButton("Editer");
    		btnNewButton_2.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent arg0) {
    				editer();
    			}
    		});
    		btnNewButton_2.setBounds(305, 33, 89, 23);
    		panel.add(btnNewButton_2);
     
    		JButton btnNewButton_3 = new JButton("Enregistrer");
    		btnNewButton_3.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent arg0) {
    				String a=textField.getText();
    				list_1.add(a);
    				insert();
    			}
    		});
    		btnNewButton_3.setBounds(107, 33, 89, 23);
    		panel.add(btnNewButton_3);
     
    		JButton btnNewButton_4 = new JButton("New button");
    		btnNewButton_4.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent arg0) {
     
    			}
    		});
    		btnNewButton_4.setBounds(472, 33, 89, 23);
    		panel.add(btnNewButton_4);
    		JLabel lblNewLabel = new JLabel("Liste Fournisseur");
    		lblNewLabel.setBackground(Color.PINK);
    		lblNewLabel.setFont(new Font("Vani", Font.BOLD, 12));
    		lblNewLabel.setToolTipText("");
    		lblNewLabel.setBounds(20, 11, 143, 28);
    		panel_2.add(lblNewLabel);
     
    		JLabel lblNewLabel_1 = new JLabel("Info");
    		lblNewLabel_1.setFont(new Font("Vani", Font.BOLD, 12));
    		lblNewLabel_1.setBounds(200, 16, 71, 14);
    		panel_2.add(lblNewLabel_1);
     
    		JLabel lblDossier = new JLabel("Donn\u00E9es");
    		lblDossier.setFont(new Font("Vani", Font.BOLD, 13));
    		lblDossier.setBounds(165, 98, 86, 25);
    		contentPane.add(lblDossier);
     
    	}
     
     
     
    	          /**  la methode select   **/
     
     
    	public  ResultSet executeRequest() 
    	   {
    		try {
    		     stmt=con.createStatement();
    		     String  req="select * from fournisseur ; ";
    		     rs=stmt.executeQuery(req);
    		     } catch (SQLException ee) 
    		       {
    			ee.printStackTrace();
    		       }
    		return rs;
    	   }
     
    	        /**  afficher la liste des  fournisseurs   **/
     
    	public void select()
    	{
    		try {
    			 while(rs.next())
    			   {
    			    list_1.add(rs.getString(2));		
    			   }
    		     } catch (SQLException e2) 
    		          {
    			        e2.printStackTrace();
    		          }
    	 }
     
    	         /**  nouveau fournisseur   **/
     
    	public void insert()
    	  {
    		try
    		  {
    			stmt=con.createStatement();
    			String req = "INSERT INTO fournisseur (ID_fournisseur,nomFourn,responsable,domaineFourn,rue,codePostal,ville,pays,telFourn,fax,tva,eMail) VALUES ('"+textField_11.getText()+"','"+textField.getText()+"','"+textField_1.getText()+"','"+textField_2.getText()+"','"+textField_3.getText()+"','"+textField_4.getText()+"','"+textField_5.getText()+"','"+textField_6.getText()+"','"+textField_7.getText()+"','"+textField_8.getText()+"','"+textField_9.getText()+"','"+textField_10.getText()+"')";
    			int nbMaj = stmt.executeUpdate ( req ) ;
    			//con.close();
     
    		   }catch (Exception em)
    		      {
    			 System.out.println("ERROR :"+em.getMessage());
    			  }
    		   textField_11.setText("");
    		   textField.setText("");
    		   textField_1.setText("");
    		   textField_2.setText("");
    		   textField_3.setText("");
    		   textField_4.setText("");
    		   textField_5.setText("");
    		   textField_6.setText("");
    		   textField_7.setText("");
    		   textField_8.setText("");
    		   textField_9.setText("");
    		   textField_10.setText("");
    	   }
     
    	        /**  supprimer fournisseur   **/
     
     
    	public void supprimer()
    	  {
    		int t = list_1.getSelectedIndex();
    	    String text = list_1.getItem(t);
    		  try
    	        {
     
    		      String req ="DELETE  FROM fournisseur WHERE nomFourn='"+text+"'";
    		      int nbMaj =stmt.executeUpdate(req);
    		       con.close();
     
    	         }catch (Exception el)
    	           {
    	             System.out.println("ERROR :"+el.getMessage());
    	           }
    	      list_1.remove(t);
    	  }
     
    	       /**  Editer fournisseur   **/
     
    	public void editer()
    	{
    		   String text = new String( );
    	       int 	i = list_1.getSelectedIndex();
    		   text = list_1.getItem(i);
     
    	try {
    			  stmt=con.createStatement();
    			  String req="select * from fournisseur where nomFourn='"+text+"'";
    		      ResultSet res=stmt.executeQuery(req);
    			  while (res.next())
    	        {
    			   textField_11.setText(res.getString(1));
    			   textField.setText(res.getString(2));
    			   textField_1.setText(res.getString(3));
    			   textField_2.setText(res.getString(4));
    			   textField_3.setText(res.getString(5));
    			   textField_4.setText(res.getString(6));
    			   textField_5.setText(res.getString(7));
    			   textField_6.setText(res.getString(8));
    			   textField_7.setText(res.getString(9));
    			   textField_8.setText(res.getString(10));
    			   textField_9.setText(res.getString(11));
    			   textField_10.setText(res.getString(12));
     
    			 }	
     
    	 	   }catch (Exception el)
    		     {
    		       System.out.println("ERROR :"+el.getMessage());
    		     }	
     
     
    	 }
     
    	public String getListe()
    	 { 		
    	  String texte=list_1.getSelectedItem();
    		return texte;
    	 }
    }
    et voila le code de deuxième classe qui va récupérer le sélection de la liste et le met dans un textField:

    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    import java.awt.BorderLayout;
    import java.awt.event.ActionListener;
    import java.awt.event.ItemListener;
    import java.awt.event.ActionEvent;
    import javax.swing.event.ListDataListener;
    import javax.swing.event.ListSelectionEvent;
    import java.awt.EventQueue;
    import java.sql.*;
    import javax.swing.*;
    import java.awt.*;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.border.EmptyBorder;
    import javax.swing.border.CompoundBorder;
    import javax.swing.border.EtchedBorder;
    import javax.swing.border.SoftBevelBorder;
    import javax.swing.border.BevelBorder;
    import javax.swing.UIManager;
    import javax.swing.JLabel;
    import java.awt.Font;
    import javax.swing.JTextField;
    import javax.swing.JList;
    import java.awt.List;
    import javax.swing.AbstractListModel;
    import java.awt.Color;
    import javax.swing.JButton;
    import java.awt.Button;
    import java.awt.event.ActionListener;
    import javax.swing.event.ListSelectionListener;
     
    public class Commander extends JFrame  {
     
    	private JPanel contentPane;
    	private JTextField textField;
    	Fornisseur fr;
     
    	/**
             * Launch the application.
             */
    	public static void main(String[] args) {
    		EventQueue.invokeLater(new Runnable() {
    			public void run() {
    				try {
     
    					Commander frame = new Commander();
    					frame.setVisible(true);
     
     
    				} catch (Exception e) {
    					e.printStackTrace();
    				}
    			}
    		});
    	}
     
    	/**
             * Create the frame.
             */
    	public Commander( ) {
     
     
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setBounds(100, 100, 450, 300);
    		contentPane = new JPanel();
    		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    		contentPane.setLayout(null);
    		setContentPane(contentPane);
     
    		textField = new JTextField();
    		textField.setBounds(122, 171, 218, 20);
    		contentPane.add(textField);
    		textField.setColumns(10);
     
    	    fr = new Fornisseur();
    		JButton btnNewButton = new JButton("New button");
    		btnNewButton.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				textField.setText(fr.getListe());
    				 System.out.println("mon message est:"+fr.getListe());
     
     
    			}
    		});
    		btnNewButton.setBounds(236, 76, 89, 23);
    		contentPane.add(btnNewButton);
     
    	}
     
    }

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 61
    Points : 57
    Points
    57
    Par défaut
    Bon bah voilà, j'ai la solution!

    Je suppose que c'est ta classe Fournisseur (tu écris Fornisseur, mais je crois que c'est une faute d'orthographe) qui appelle la fenêtre Commander.

    Et bien lorsque tu crées ta fenêtre Commander, tu ne passes pas de référence vers ta fenêtre Fournisseur, mais à la place tu crées un nouveau Fournisseur.
    Fornisseur f=new Fornisseur();
    Du coup lorsque tu cliques sur ta liste, et bien rien n'est récupéré vu que ta méthode attend un item du Fornisseur que tu as créé dans Commander (qui n’apparaît pas d'ailleurs).

    Pour rectifier le problème, ajoute une référence vers Fournisseur dans ton constructeur de Commander:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public Commander(Fournisseur f)
    {
            // ton code
            fr = f;
            // ...
    }
    Et dans ta classe Fournisseur, tu auras donc quelque chose comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    commander.addActionListener(new ActionListener() {
    	public void actionPerformed(ActionEvent arg0)
    	{
    		Commander fram = new Commander(Fornisseur.this);
    		fram.setVisible(true);
    	}
    });
    J'ai aussi remplacé l'ActionListener par un MouseAdapter (sinon je ne récupérais pas la sélection)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    list_1.addMouseListener(new MouseAdapter() {
    	@Override
    	public void mouseClicked(MouseEvent arg0)
    	{
    		System.out.println("l'element selectionné est:" + list_1.getSelectedItem());				
    	}		
    });
    Et j'ai remplacé List par JList, ça marche très bien, je la vois.
    Pour mieux la voir, faut rajouter une bordure (comme dans un de mes messages précédents).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    JList list_1 = new JList(new DefaultListModel());
    list_1.setBorder(BorderFactory.createLineBorder(Color.BLACK);
    list_1.setSelectionMode(ListSelectionMode.SINGLE); // sélection unique
    Enfin pour ajouter et supprimer des éléments de la liste:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    DefaultListModel model = (DefaultListModel) list_1.getModel();
    model.addElement(textField.getText()); // par exemple...
     
    model.removeElement("Mon texte");

  11. #11
    Futur Membre du Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2012
    Messages : 19
    Points : 8
    Points
    8
    Par défaut
    et enfin ça marche
    merci M4veR1K vous m'avez sauvez, merci énormément
    j'ai essayé que tu m'a donné avec la liste et non la JListe et ça marche
    et je vais maintenant changer avec la Jliste.
    je dois changer alors tous mes autre classes ou j'utilise la liste
    merci une autre fois

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/11/2014, 15h21
  2. Instancier une classe dans un constructeur d'une autre classe ?
    Par ctobini dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 17/12/2012, 11h11
  3. Recupérer une variable appartenant à une autre "class"
    Par Super_babar dans le forum Débuter avec Java
    Réponses: 10
    Dernier message: 15/07/2008, 14h26
  4. Réponses: 6
    Dernier message: 31/05/2007, 18h10
  5. Réponses: 1
    Dernier message: 05/05/2006, 14h37

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