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

Interfaces Graphiques en Java Discussion :

[Débutant] Problème de récupération de liste déroulante


Sujet :

Interfaces Graphiques en Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 20
    Points : 6
    Points
    6
    Par défaut [Débutant] Problème de récupération de liste déroulante
    Bonjour,

    Je voudrais rajouter une interface graphique à un problème déjà existant.

    J'avais commencé avec un Jframe-Jpanel pour ma première fenêtre et ça marchait très bien:
    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
     
    package mkrss;
    import java.awt.FlowLayout;
    import java.awt.Dimension;
    import javax.swing.*;
    import javax.swing.border.*;
    import java.awt.*; 
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.*;
    import javax.xml.parsers.*;
    import org.w3c.dom.*;
    import javax.swing.JOptionPane;
     
    public class InterfaceGraphique extends JFrame implements ActionListener{
     
     
    	private JPanel container = null;//Déclaration de l'objet JPanel	
    	private FlowLayout layout = null ;//Déclaration de notre layout
    	private JLabel texte = null;//Déclaration de l'objet JLabel
    	private JButton bouton = null;//Déclaration du bouton
    	private JPanel container2 = null;//Déclaration de l'objet JPanel	
    	private FlowLayout layout2 = null ;//Déclaration de notre layout
    	private JLabel texte2 = null;//Déclaration de l'objet JLabel
    	private JButton bouton2= null;//Déclaration du bouton
    	private String UrlRss = null;
     
    	private int nombre = 0; //Déclaration du chiffre
    			JTextField urlfield = null;
     
    	public InterfaceGraphique(){   
    		super();		
    		build();//On initialise notre fenêtre
    	}//Fin du constructeur
     
    	public InterfaceGraphique( String  urlfld){
    		super();		
    		build2(urlfld);//On initialise notre fenêtre
    	}//Fin du second constructeur
     
     
    	private void build(){
     
    		this.setTitle("Morad KALKOUL: parser de flux RSS"); //On donne un titre à l'application
    		this.setSize(400,400); //On donne une taille à notre fenêtre
    		this.setLocationRelativeTo(null); //On centre la fenêtre sur l'écran
    		this.setResizable(true) ; //On interdit la redimensionnement de la fenêtre
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //On dit à l'application de se fermer
    		//lors du clic sur la croix
    //		On lui spécifie un container principal
    		this.setContentPane(getContainer());
    	}//fin de build
     
     
    	private void build2( String url){
    		this.setTitle("Morad KALKOUL: parser de flux RSS"); //On donne un titre à l'application
    		this.setSize(400,400); //On donne une taille à notre fenêtre
    		this.setLocationRelativeTo(null); //On centre la fenêtre sur l'écran
    		this.setResizable(true) ; //On interdit la redimensionnement de la fenêtre
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //On dit à l'application de se fermer
    		//lors du clic sur la croix
    		//On lui spécifie un container principal
    		this.setContentPane(getContainer2());
    	}//fin de build
     
    	private JPanel getContainer(){
     
    		layout = new FlowLayout(); //Instanciation du layout
    		layout.setAlignment(FlowLayout.LEFT);//On centre les composants
     
    		container = new JPanel() ; //On crée notre objet
    		container.setLayout(layout); //On applique le layout
     
    		texte = new JLabel() ;//On crée notre objet
    		texte.setPreferredSize(new Dimension(250,25)) ;//On lui donne une taille
    		texte.setText("Veuillez saisir une l'adresse d'un flux RSS:"); //On lui donne un texte
     
    		container.add(texte);//On l'ajoute au container
     
     
    		bouton = new JButton () ;//Création du bouton
    		bouton.setPreferredSize(new Dimension(125,25)) ;//On lui donne une taille
    		bouton.setText("OK") ;//On lui donne un texte
     
    		urlfield = new JTextField();
    		urlfield.setPreferredSize(new Dimension(75,25));
    		container.add(urlfield);
     
     
    		bouton.addActionListener(this);//On ajoute la fenêtre en tant qu'écouteur du bouton
     
    		container.add(bouton);//On l'ajoute à la fenêtre
     
    		return container ;
    	}
     
    	private JPanel getContainer2(){
     
    		try {
     
    			Choice maCombo = new Choice();
     
    		layout2 = new FlowLayout(); //Instanciation du layout
    		layout2.setAlignment(FlowLayout.LEFT);//On centre les composants
     
    		container2 = new JPanel() ; //On crée notre objet
    		container2.setLayout(layout2); //On applique le layout
     
     
     
    		//Remplissage de la liste déroulante.
     
    		//fin du remplissage de la liste.
    		OutilsDOM monoutil = new OutilsDOM();
     
    		String atitre = "";				//variablede travail.
    		String adescription = "";    	//variable de travail.
    		String alink ="";				//variable de travail.
    		Document envfabricdoc;
     
    	 	monoutil.OuvrirConnexion(this.UrlRss);	
    	 	envfabricdoc = monoutil.CreerFabriqueDocument(monoutil.is);		
    	 	NodeList nlitem = envfabricdoc.getElementsByTagName("item");
     
    	    for (int i=0 ; i<nlitem.getLength(); i++)
    	    {
     
    	    	Element item = (Element)nlitem.item(i);
     
    	    	/* Affichage des titres et des articles        */
    	    	/* et remplissage au fur et à mesure du vector */
     
    	    	for (Node child = item.getFirstChild(); child!=null ; child = child.getNextSibling())   
    	    	{
     
    	    			if (child.getNodeType() == Node.ELEMENT_NODE && ((Element)child).getTagName().equals("title"))
    	    			{
    	    				atitre = child.getTextContent();	
    	    				//System.out.println(i+1 + "\t" + atitre);
    	    			}
    	    			else if  (child.getNodeType() == Node.ELEMENT_NODE && ((Element)child).getTagName().equals("description"))
    	                {  
    	    				adescription = child.getTextContent();    
    	    				//System.out.println("\t\t" + adescription);
    	                }
    	            	else if (child.getNodeType() == Node.ELEMENT_NODE && ((Element)child).getTagName().equals("link"))   
    	            		{  
    	            			alink = child.getTextContent();
    	            			//System.out.println("\t\t" + alink);
    	            		}
     
    	    	} //fin de for
     
    	    	//remplissage de ma liste combo
    	    	maCombo.add(atitre);
     
    	    	//Initialisation d'un élément à ajouter au vecteur.
    	    	MkItem anode = new MkItem(urlfield.getText(), atitre, adescription,alink, false);
     
    	    	System.out.println(i+1 + "\t" + anode.titre );
    	    	System.out.println( "\t");
     
    	    	//ajout de l'élément au vecteur.
    	    	monoutil.rssvct.ajouter(anode);
     
    	    }//fin de for
     
    	    container2.add(maCombo);
     
    		}//Fin de try
    		catch (Exception e2){
     
     
    		}//fin de catch
    		finally {
     
    			return container2 ;	
     
    		}//fin de finally
     
     
    	}//Fin de container2
     
     
    	public void actionPerformed(ActionEvent e){
     
     
    		try {
     
     
    		}//Fin de try	
    	    catch ( Exception e1 ){
     
     
    	    }//fin de catch
     
     
    	}//Fin de actionPerformed
     
        public static void main(String[] args) throws Exception {
     
     
     	   //InterfaceGraphique gui = new InterfaceGraphique();
     	   //gui.setVisible(true);
        	InterfaceGraphique gui = new InterfaceGraphique("");
        	gui.UrlRss  = String.valueOf(JOptionPane.showInputDialog(null, "Entrez une URL:"));
     
     
     
     
     
    		int reponse = JOptionPane.showConfirmDialog(null, "Voulez-vous récupérer ce flux?", 
    			"Satisfaction", JOptionPane.YES_NO_OPTION);
     
    		if(reponse == JOptionPane.YES_OPTION){
     
    		 	   gui.setVisible(true);
     
     
    			//JOptionPane.showMessageDialog(null, "Cool :) A la prochaine") ;
    		}else if(reponse == JOptionPane.NO_OPTION){
    			JOptionPane.showMessageDialog(null, "Bye.") ;
    		}
        } //Fin de main
     
     	   //http://tempsreel.nouvelobs.com/file/rss_perm/rss_permanent.xml
     	   //monoutil.TraitementDunFlux(monoutil, gui);
     
    }//Fin classe InterfaceGraphique
    Le contenu de getContainer2() était dans actionPerformed.
    Avant je pouvait récupérer l'url saisie dans getContainer dans une variable urlfield de type JLabel que je rajouter via container.add(urlfield).

    Puis j'ai voulu utiliser JOptionPane qui m'a l'air pas mal pour la première saisie.
    J'ai donc modifier ma classe comme ci-dessous.
    Donc je dsaisie l'url dans une variable de type string dans le main:
    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
     
    public static void main(String[] args) throws Exception {
     
     
     	   //InterfaceGraphique gui = new InterfaceGraphique();
     	   //gui.setVisible(true);
        	InterfaceGraphique gui = new InterfaceGraphique("");
        	gui.UrlRss  = String.valueOf(JOptionPane.showInputDialog(null, "Entrez une URL:"));
     
    		int reponse = JOptionPane.showConfirmDialog(null, "Voulez-vous récupérer ce flux?", 
    			"Satisfaction", JOptionPane.YES_NO_OPTION);
     
    		if(reponse == JOptionPane.YES_OPTION){
     
    		 	   gui.setVisible(true);
     
     
    			//JOptionPane.showMessageDialog(null, "Cool :) A la prochaine") ;
    		}else if(reponse == JOptionPane.NO_OPTION){
    			JOptionPane.showMessageDialog(null, "Bye.") ;
    		}
        } //Fin de main
     
     	   //http://tempsreel.nouvelobs.com/file/rss_perm/rss_permanent.xml
     	   //monoutil.TraitementDunFlux(monoutil, gui);
     
    }//Fin classe InterfaceGraphique
    donc de la façon suivante dans:
    gui.UrlRss = String.valueOf(JOptionPane.showInputDialog(null, "Entrez une URL:"));
    C'est après que j'ai du mal à l'exploiter.
    Dans getContainer2 , je ppense que ma fonction monoutil.OuvrirConnexion(this.UrlRss);
    passe mais je n'ai rien dans ma fenêtre c'est à dire pas de liste déroulante.
    Eclipse me dit que la combo n'est pas rajouté à ma fenêtre, je sais je ne sais pas gérer les exceptions mais mon bloc finally est apparement foireux, si je pouvais avoir un coup de main la dessus se serait sympa.

    Mon second problème est concernant la liste déroulante quelle est l'évènement lorsque je clique qur un évènement de la liste déroulante?

    Merci d'avance pour votre aide.

    Bonne soirée.

  2. #2
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 108
    Points : 3 203
    Points
    3 203
    Par défaut
    J'ai la reponse qu'a la deuxieme partie :
    L'ecouteur que tu cherche est ItemListener
    avec la methode : addItemListener() pour le JComboBox.
    Systèmes d'Informations Géographiques
    - Projets : Unlicense.science - Apache.SIS

    Pour un monde sans BigBrother IxQuick ni censure RSF et Les moutons

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 20
    Points : 6
    Points
    6
    Par défaut
    merci c'est déjà ça

    @+

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 20
    Points : 6
    Points
    6
    Par défaut
    Finalement je voudrais conourner le problème en repassant à la méthode classique.
    Donc voiçi mon fichier:
    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
     
    package mkrss;
    import java.awt.FlowLayout;
    import java.awt.Dimension;
    import javax.swing.*;
    import javax.swing.border.*;
    import java.awt.*; 
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.*;
    import javax.xml.parsers.*;
    import org.w3c.dom.*;
    import javax.swing.JOptionPane;
     
    public class InterfaceGraphique extends JFrame implements ActionListener{
     
     
    	private JPanel container = null;//Déclaration de l'objet JPanel	
    	private FlowLayout layout = null ;//Déclaration de notre layout
    	private JLabel texte = null;//Déclaration de l'objet JLabel
    	private JButton bouton = null;//Déclaration du bouton
    	private JPanel container2 = null;//Déclaration de l'objet JPanel	
    	private FlowLayout layout2 = null ;//Déclaration de notre layout
    	private JLabel texte2 = null;//Déclaration de l'objet JLabel
    	private JButton bouton2= null;//Déclaration du bouton
    	private String UrlRss = null;
    	Choice maCombo = null;
    	//OutilsDOM monoutil = new OutilsDOM();
    	OutilsDOM monoutilgui = null;
     
     
     
    	private int nombre = 0; //Déclaration du chiffre
    			JTextField urlfield = null;
     
    	public InterfaceGraphique(){   
    		super();		
    		build();//On initialise notre fenêtre
    	}//Fin du constructeur
     
    	public InterfaceGraphique( String st){
    		super();		
    		build2();//On initialise notre fenêtre
    	}//Fin du second constructeur
     
     
    	private void build(){
     
    		this.setTitle("Morad KALKOUL: parser de flux RSS"); //On donne un titre à l'application
    		this.setSize(400,400); //On donne une taille à notre fenêtre
    		this.setLocationRelativeTo(null); //On centre la fenêtre sur l'écran
    		this.setResizable(true) ; //On interdit la redimensionnement de la fenêtre
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //On dit à l'application de se fermer
    		//lors du clic sur la croix
    //		On lui spécifie un container principal
    		this.setContentPane(getContainer());
    	}//fin de build
     
     
    	private void build2(){
    		this.setTitle("Morad KALKOUL: parser de flux RSS"); //On donne un titre à l'application
    		this.setSize(400,400); //On donne une taille à notre fenêtre
    		this.setLocationRelativeTo(null); //On centre la fenêtre sur l'écran
    		this.setResizable(true) ; //On interdit la redimensionnement de la fenêtre
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //On dit à l'application de se fermer
    		//lors du clic sur la croix
    		//On lui spécifie un container principal
    		this.setContentPane(getContainer2());
    	}//fin de build
     
    	private JPanel getContainer(){
     
    		layout = new FlowLayout(); //Instanciation du layout
    		layout.setAlignment(FlowLayout.LEFT);//On centre les composants
     
    		container = new JPanel() ; //On crée notre objet
    		container.setLayout(layout); //On applique le layout
     
    		texte = new JLabel() ;//On crée notre objet
    		texte.setPreferredSize(new Dimension(250,25)) ;//On lui donne une taille
    		texte.setText("Veuillez saisir une l'adresse d'un flux RSS:"); //On lui donne un texte
     
    		container.add(texte);//On l'ajoute au container
     
     
    		bouton = new JButton () ;//Création du bouton
    		bouton.setPreferredSize(new Dimension(125,25)) ;//On lui donne une taille
    		bouton.setText("OK") ;//On lui donne un texte
     
    		urlfield = new JTextField();
    		urlfield.setPreferredSize(new Dimension(75,25));
    		container.add(urlfield);
     
     
    		bouton.addActionListener(this);//On ajoute la fenêtre en tant qu'écouteur du bouton
     
    		container.add(bouton);//On l'ajoute à la fenêtre
     
    		return container ;
    	}
     
    	private JPanel getContainer2(){
     
     
     
    			this.maCombo = new Choice();
     
    		layout2 = new FlowLayout(); //Instanciation du layout
    		layout2.setAlignment(FlowLayout.LEFT);//On centre les composants
     
    		container2 = new JPanel() ; //On crée notre objet
    		container2.setLayout(layout2); //On applique le layout
     
     
     
    		//Remplissage de la liste déroulante.
     
     
     
     
    		//System.out.println( this.monoutilgui.rssvct.unoeud.elementAt(1).description + "\t *****************"); 
     
    		maCombo.add("elem1");
    		maCombo.add(this.monoutilgui.rssvct.unoeud.elementAt(0).titre.toString());
    	    container2.add(maCombo);
     
     
     
     
    		//fin du remplissage de la liste.
     
     
     
     
    			return container2 ;	
     
     
     
    }//Fin de getContainer2
     
     
    	public void actionPerformed(ActionEvent e){
     
    		  String atitre = "";				//variablede travail.
    		   String adescription = "";    	//variable de travail.
    		   String alink ="";				//variable de travail.
    		   Document envfabricdoc;
     
     
    		this.monoutilgui = new OutilsDOM();
     
    			monoutilgui.entreeClavier= new BufferedReader(
    		               new InputStreamReader(System.in));
     
     
    		try {
     
    			monoutilgui.OuvrirConnexion(urlfield.getText());
    		envfabricdoc = monoutilgui.CreerFabriqueDocument(monoutilgui.is);		
    		NodeList nlitem = envfabricdoc.getElementsByTagName("item");
     
    	    	for (int i=0 ; i<nlitem.getLength(); i++)
    	    	{
     
    	    		Element item = (Element)nlitem.item(i);
     
     
    	    		/* Affichage des titres et des articles        */
    	    		/* et remplissage au fur et à mesure du vector */
     
    	    		for (Node child = item.getFirstChild(); child!=null ; child = child.getNextSibling())   
    	    		{
     
    	    			if (child.getNodeType() == Node.ELEMENT_NODE && ((Element)child).getTagName().equals("title"))
    	    			{
    	    				atitre = child.getTextContent();
    	    				System.out.println(i+1 + "\t" + atitre);
    	    			}
    	    			else if  (child.getNodeType() == Node.ELEMENT_NODE && ((Element)child).getTagName().equals("description"))
    	                {  
    	    				adescription = child.getTextContent();    
    	    				//System.out.println("\t\t" + adescription);
    	                }
    	            	else if (child.getNodeType() == Node.ELEMENT_NODE && ((Element)child).getTagName().equals("link"))   
    	            		{  
    	            			alink = child.getTextContent();
    	            			//System.out.println("\t\t" + alink);
    	            		}
     
    	    		} //fin de for
     
    	    		//Initialisation d'un élément à ajouter au vecteur.
    	    		MkItem anode = new MkItem(urlfield.getText(), atitre, adescription,alink, false);
     
    	    		//System.out.println(i+1 + "\t" + anode.titre );
     
    	    		System.out.println( "\t");
     
     
       	    //ajout de l'élément au vecteur.
       	    monoutilgui.rssvct.ajouter(anode);
     
     
     
     
     
    	    	}//fin de for
     
    	    InterfaceGraphique gui2 = new InterfaceGraphique("");
     
    	    gui2.setVisible(true);
     
     
    		}//Fin de try	
    	    catch ( Exception e1 ){
     
     
    	    }//fin de catch
     
     
    	}//Fin de actionPerformed
     
        public static void main(String[] args) throws Exception {
     
     
     	   InterfaceGraphique gui = new InterfaceGraphique();
     	   gui.setVisible(true);
     
        } //Fin de main	
     
     
    }//Fin classe InterfaceGraphique
    J'ai donc créé un attribut propre à cette classe qui est:
    OutilsDOM monoutilgui = null;
    Il contient un vector de MkItem, donc voici le fichier:

    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
     
    package mkrss;
     
    public class MkItem {
    	//adresse du flux rss
    	String fluxrss;
    	//titre
    	String titre;
    	//description
    	String description;
    	//adresse de l'article
    	String url;
    	//Boleen indiquant si cela a ete lu ou non
    	Boolean lu;
     
    	/**Constructeur**/
    	public MkItem (String a, String b, String c, String d, Boolean e) {
    		this.fluxrss = a;
    		this.titre = b;
    		this.description = c;
    		this.url = d;
    		this.lu = e;
     
    	}//Fin de constructeur
     
    }//Fin de classe MkItem
    dans ma fonction actionPerformed jecrée un object de type OutilsDOM, qui contient un vecteur de MkItem que je mets à jour de la façon suivante:
    //ajout de l'élément au vecteur.
    monoutilgui.rssvct.ajouter(anode);

    J'aurais voulu créer une liste déroulante avec les titres des différents éléements du vecteur, donc ma fonction getContainer2:

    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
     
    private JPanel getContainer2(){
     
    		this.maCombo = new Choice();
     
    		layout2 = new FlowLayout(); //Instanciation du layout
    		layout2.setAlignment(FlowLayout.LEFT);//On centre les composants
     
    		container2 = new JPanel() ; //On crée notre objet
    		container2.setLayout(layout2); //On applique le layout
     
    		//Remplissage de la liste déroulante.
     
    		//System.out.println( this.monoutilgui.rssvct.unoeud.elementAt(1).description + "\t *****************"); 
     
    		maCombo.add("elem1");
    		maCombo.add(this.monoutilgui.rssvct.unoeud.elementAt(0).titre.toString());
    	    container2.add(maCombo);
     
    		//fin du remplissage de la liste.
     
    			return container2 ;	
     
    }//Fin de getContainer2
    j'initialise une liste:
    this.maCombo = new Choice();

    que je mets à jour comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    maCombo.add("elem1");
    maCombo.add(this.monoutilgui.rssvct.unoeud.elementAt(0).titre.toString());
    container2.add(maCombo);
    si je lance mon programme tel quel, la fenêtre contenant la liste déroulante n'apparaît pas.
    Si je mets en commentaire la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    //maCombo.add(this.monoutilgui.rssvct.unoeud.elementAt(0).titre.toString());
    Qu'est-ce qui fait que je n'arrive pas à initialiser l'élément de la liste avec cette élément?

    Merci d'avance pour votre aide.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 20
    Points : 6
    Points
    6
    Par défaut
    Salut,

    y a t il quelqu'un pour me dépanner?

    Merci

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 20
    Points : 6
    Points
    6
    Par défaut
    Re salut,

    en utilisant le debugger, j'ai pu me rendre compte que , d'une, ce que je dois rentrer dan sla liste c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    //maCombo.add(this.monoutilgui.rssvct.unoeud.elementAt(0).titre);
    et non pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    //maCombo.add(this.monoutilgui.rssvct.unoeud.elementAt(0).titre.toString());
    et puis au moment où j'entre dans la fonction getContainer2 mon objet ui contient mon vecteur rssvct est à "null".

    en fait mon objet attribut de ma classe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    OutilsDOM monoutilgui = null;
    passait à null en sortant de la fonction actionPerformed, je l'ai donc passé en paramètre à loa fenêtre final.

    @+

Discussions similaires

  1. Problème récupération valeur liste déroulante
    Par bond70 dans le forum Langage
    Réponses: 8
    Dernier message: 28/04/2010, 11h01
  2. Problème récupération valeur liste déroulante
    Par philouelgeek dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 26/01/2010, 08h22
  3. Problème avec zone de liste déroulante
    Par jerem78 dans le forum Access
    Réponses: 4
    Dernier message: 07/06/2006, 16h58
  4. [Débutant] Problème de récupération valeurs Bean
    Par DanZzz dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 14/08/2005, 20h27
  5. Problème pour positionner une liste déroulante
    Par ouckileou dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 30/09/2004, 01h05

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