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 :

probleme d'utilisation de l'evenement de jlist


Sujet :

Composants Java

  1. #1
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2017
    Messages : 108
    Par défaut probleme d'utilisation de l'evenement de jlist
    Salut,
    j'ai besoin d'afficher une jliste (avec un grand nombre d'éléments ) lors de relachement de la sourie et aussi je veux récupérer l'element sélectionné d'une jliste

    le premier code c'est la classe jlist
    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
    import javax.swing.JFrame;
    import javax.swing.JList;
    import javax.swing.JLabel;
    import java.awt.BorderLayout;
    import javax.swing.event.ListSelectionEvent;
    import javax.swing.event.ListSelectionListener;
    import java.awt.Font;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.util.Iterator;
    import java.util.List;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javax.swing.DefaultListModel;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import org.apache.poi.EncryptedDocumentException;
    import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
     
    public class jliste extends JFrame  {
     JList liste = new JList();
     
     
     public jliste() throws IOException, FileNotFoundException, EncryptedDocumentException, InvalidFormatException {
     	BorderLayout borderLayout = (BorderLayout) getContentPane().getLayout();
     	borderLayout.setHgap(100);
     
     //String choix[] = {" Ranap", " Rnsap", " Nbap", " RRC"};
     List<String> ranapdl= new java.util.ArrayList<>();
    			List<String> ranapul= new java.util.ArrayList<>();
    			List<String> ranap= new java.util.ArrayList<>();
    			List<String> rnsapdl= new java.util.ArrayList<>();
    			List<String> rnsapul= new java.util.ArrayList<>();
    			List<String> rnsap= new java.util.ArrayList<>();
    			List<String> nbapdl= new java.util.ArrayList<>();
    			List<String> nbapul= new java.util.ArrayList<>();
    			List<String> nbap= new java.util.ArrayList<>();
    			List<String> rrcdl= new java.util.ArrayList<>();
    			List<String> rrcul= new java.util.ArrayList<>();
    			List<String> rrc= new java.util.ArrayList<>();
    			List<String> vide= new java.util.ArrayList<>();
     
    excelreader ex=new excelreader("Call Trace info.xls",vide,ranapdl,ranapul,ranap,rnsapdl,rnsapul,rnsap,rrcdl,rrcul,rrc,nbapdl,nbapul,nbap);
     
    List<String> listf=ex.getfull_list();
    /*for (Iterator it=listf.iterator();it.hasNext();){
     
     
                System.out.println(it.next());}*/
     
       DefaultListModel listModel = new DefaultListModel();
      int size = listf.size();
            for (int index = 0; index < size; index++) {
                listModel.addElement(listf.get(index));
            }
            liste.setModel(listModel);
     
     liste.setFont(new Font("Engravers MT", Font.PLAIN, 11));
         JScrollPane jScrollPane6 = new javax.swing.JScrollPane();
         JPanel jPanel3 = new javax.swing.JPanel();
         jPanel3.setBounds(10, 110, 60, 10);
     
     jScrollPane6.setViewportView(liste);
      jPanel3.add(jScrollPane6, java.awt.BorderLayout.CENTER);
    getContentPane().add(jPanel3);
    setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    pack();
    setVisible(true);
     
     
    liste.addListSelectionListener(this::listeValueChanged);
     }
     
    public List<String> listeValueChanged(ListSelectionEvent e) {
     
      String nom1 = (String) liste.getSelectedValue();
    List<String> listsele= new java.util.ArrayList<>();
            if (e.getValueIsAdjusting() == true){
    	System.out.println(nom1);
            listsele.add(nom1);
            setVisible(false);
    }
    return listsele;
    }
     
     
     
     
     
    }
    je veux afficher ma liste lors de relachement de la sourie(instanciation de classe jliste dans la methode released) et aussi de recuperer l'element selectionne de la liste dans la meme methode de mouse released
    le deuscieme code c'est une autre classe ou elle contient la methode de mouse released
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     public void mouseReleased(MouseEvent e) {
                        draw(e.getX());
     
                        try {
                            jliste    b= new jliste();
     
                            ListSelectionEvent   ev;//j'arrive pas à utiliser l'evenenment de selection de la liste dans cette methode
                            List<String> listee= b.listeValueChanged( ev);
                            System.out.println( listee.get(0));//c'est un test d'affichage,mais je veux utiliser cet element dans cette classe pour faire un drawString(liste.get(0),x,y);
    merci d'avance pour vos reponse

  2. #2
    Expert éminent
    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 : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    De quel mouse released on arle là? C'est assez curieux, en général on va afficher des composants supplémentaires dans une interface en réaciton à des clics ou des actions, pas à des mouse released qui sont beaucoup trop généraux.

    Ensuite, tu essaie de faire quoi avec ce code?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
                            ListSelectionEvent   ev;//j'arrive pas à utiliser l'evenenment de selection de la liste dans cette methode
                            List<String> listee= b.listeValueChanged( ev);
    Tu essaie de créer un évènement de selection changed? Il il y a bien une méthode fireSelectionChanged dans la liste, mais elle est protégée et de toutes façons tu ne devrais pas avoir à envoyer toi même cette évènement, il se déclenche tout seul quand tu change la valeur sélectionnée.

    Si ce que tu veux faire au contraire c'est être notifié quand un élément sera sélectionné, il faut utiliser la méthode addListSelectionListener, ce que tu as d'ailleurs déjà fait dans ta JFrame.

    Par contre, la méthode que tu référence comme listener renvoie une valeur, cette valeur n'est absolument pas utilisée par swing, les listeners renvoient void pour swing. Je crois que ta confusion viens de là. Tu dois stocker tes valeurs calculées par le listener dans ta classe par exemple, et fournir un accès à ces valeurs via une méthode par exemple.

    Aussi, si le but de ta frame c'est de s'afficher quand on clique sur quelque chose, choisir une valeur, puis disparaitre et on continue le travail sur ce qu'on faisait avant, je te conseille d'étendre JDialog au lieu de JFrame, c'est plus adapté à ton besoin. Une JDialog peut e^tre modale et interrompre le travail en attendant d'être cachée. Pour ça il suffit d'appeler setModalityType(Dialog.DEFAULT_MODALITY_TYPE) dessus avant de l'afficher.

  3. #3
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2017
    Messages : 108
    Par défaut
    le mouse released c'est une methode d'une autre interface(autre fenetre) (classe Exemple )ou je veux afficher l'interface jliste lors de relachement de ma sourie
    voila la classe Exemple
    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
    public class Exemple extends JPanel {
     
     
    	private static final int MARGETOP = 50;
    	private static final int WIDTH = 100;
    	private static final int H = 60;
    	private static final int HEIGHT = 3 * H;
    	private static final int MARGIN = 5;
    	private static final int ARROW = 5;
     
    	private Rule[] rules = new Rule[5];
    	private List<Arrow> arrows = new ArrayList<>();
     
    	private int y = MARGETOP + H / 2;
    	private Arrow currentArrow; 
     
    	public Exemple() {
     
     
    		String[] ruleNames = { "UE", "NodeB", "DRNC", "SRNC", "CN" };
    		int x = 0;
    		for (int i = 0; i < rules.length; i++, x += WIDTH) {
    			rules[i] = new Rule(ruleNames[i], x, WIDTH);
    		}
     
    		setPreferredSize(new Dimension(860, 768));
     
                    JButton jButton8 = new javax.swing.JButton();
    		MouseAdapter mouseAdapter;
                mouseAdapter = new MouseAdapter() {
     
                    @Override
                    public void mousePressed(MouseEvent e) {
                        currentArrow = createArrow(e.getPoint());
                        repaint();
                    }
     
                    @Override
                    public void mouseDragged(MouseEvent e) {
                        updateArrow(e.getPoint());
                        repaint();
                    }
     
                    @Override
                    public void mouseReleased(MouseEvent e) {
     
                        updateArrow(e.getPoint());
                       int z=e.getY();
                        saveArrow();
                   jliste li=    new jliste();
                  List<String> lis=    li.ListSelectionValue(ev);
       System.out.println(lis.get(0));
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     List<String> lis=    li.ListSelectionValue(ev);
    pour ce code j'ai besoin de recuperer le nom de l'element selectionné de la jliste pour que je pourrais l'utiliser dans drawString()
    dans l'interface exemple

  4. #4
    Expert éminent
    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 : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    pour connaitre l'élément sélectionné dans une jlist il suffit de faire appel à sa méthode getSelectedValue(), tout simplement

  5. #5
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2017
    Messages : 108
    Par défaut
    Salut tchize,
    la methode getSelectedValue() donne null..normalement listSelectionEvent qui fait l'ecoute de la jliste c'est ça le probleme ..

  6. #6
    Expert éminent
    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 : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Si getSelectedValue te retourne null, c'est que rien n'est sélectionné. L'event sert juste à être notifié quand ça change. Ce n'est pas la manière dont tu es censé lire la valeur sélectionnée.

  7. #7
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2017
    Messages : 108
    Par défaut
    Salut encore tchize ,
    voila c'est ce que j'ai fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public static void main(String args[]) throws IOException, FileNotFoundException, EncryptedDocumentException, InvalidFormatException{
    jliste list=new jliste();
    list.setVisible(true);
     
     
    System.out.println(list.liste.getSelectedValue());
     
    }
    des le debut d'execution il affiche null meme pas sans clique;et quand je clique il n'affiche rien

  8. #8
    Expert éminent
    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 : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    D'abord list.liste ça n'existe pas. Ensuite, tant que tu n'a rien séléctionné, forcément la valeur est null. Ton code ne sélectionne rien et ne laisse pas le temps à l'utilisateur de sélectionner quoi que ce soit.

  9. #9
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2017
    Messages : 108
    Par défaut
    donc comment je veux faire ça .
    merci pour vos reponses

  10. #10
    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 : 56
    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
    Billets dans le blog
    2
    Par défaut
    Au lieu de retourner la liste dans listeValueChanged(ListSelectionEvent e), tu la stockes dans un attribut (je te l'ai déjà dit dans un autre post). Avec un accesseur pour cet attribut, tu peux la récupérer dans la méthode qui affiche ton dialogue. Et je t'ai déjà dit également d'utiliser un dialogue modal (JDialog au lieu de JFrame), parce que sinon c'est plus compliqué pour l'appelant d'attendre que la sélection soit faite.

    Par ailleurs, on ferme une fenêtre par dispose(), pas par setVisible(false) qui la cache. Ou alors, il ne faut pas faire de new à chaque fois qu'on veut l'afficher, il faut en créer une et la réafficher chaque fois, mais pour le coup, pour un dialogue, ça va être plus compliqué que d'en créer une nouvelle chaque fois.

    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
    public class jliste extends JDialog { // JDialog au lieu de JFrame
     
           private JList<String> liste = new JList<>(); // tu sais que stockes des String dedans, utilise donc le typage
           private String selection;
     
     public jliste(Frame owner) throws IOException, FileNotFoundException  {
    	 super(owner, true);
     
             // ici reprend tout ton code exactement pareil, sauf listeValueChanged
     
     }  
     
      private void listeValueChanged(ListSelectionEvent e) { // private parce que pas de raison qu'on l'appelle de l'extérieur
     
           selection = liste.getSelectedValue(); // on stocke la sélection, une seule valeur sélectionnée, donc pas besoin de liste
            dispose(); // ferme le dialogue, donc rend la main à l'appelant
    }
     
     public String getSelection() { 
            return selection;
      }
     
     
    }
    Ainsi, dans l'appelant, tu pourras faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    JFrame parent = (JFrame) SwingUtilities.getWindowAncestor( panel ); // permet de connaitre la fenêtre dans laquelle le composant se trouve (panel, c'est la référence du composant où se trouve le MouseListener original (celui qui produit mouseReleased())
    jliste    b= new jliste(parent);
    String selection = b.getSelection();
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  11. #11
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2017
    Messages : 108
    Par défaut
    Merciiii infiniment joel pour votre patience pour et vos réponses..
    ma fenetre principale s'appelle Exemple qui etend de JPanel celle là qui contient la methode mousereleased()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JFrame parent = (JFrame) SwingUtilities.getWindowAncestor(panel);
    // permet de connaitre la fenêtre dans laquelle le composant se trouve (panel, c'est la référence du composant où se trouve le MouseListener original (celui qui produit mouseReleased())
    c'st à dire comme ça mais il génere des exceptions
    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at javax.swing.SwingUtilities.getWindowAncestor(SwingUtilities.java:135)
    at Exemple$1.mouseReleased(Exemple.java:97)
    at java.awt.Component.processMouseEvent(Component.java:6533)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
    at java.awt.Component.processEvent(Component.java:6298)
    at java.awt.Container.processEvent(Container.java:2236)
    at java.awt.Component.dispatchEventImpl(Component.java:4889)
    at java.awt.Container.dispatchEventImpl(Container.java:2294)
    at java.awt.Component.dispatchEvent(Component.java:4711)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
    at java.awt.Container.dispatchEventImpl(Container.java:2280)
    at java.awt.Window.dispatchEventImpl(Window.java:2746)
    at java.awt.Component.dispatchEvent(Component.java:4711)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.awt.EventQueue$4.run(EventQueue.java:731)
    at java.awt.EventQueue$4.run(EventQueue.java:729)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)


    Merciii encore

  12. #12
    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 : 56
    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
    Billets dans le blog
    2
    Par défaut
    [QUOTE=dalila15;9086897]
    ma fenetre principale s'appelle Exemple qui etend de JPanel celle là qui contient la methode mousereleased()[/code]
    Exemple, c'est une JFrame ou un JPanel, faudrait savoir...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JFrame parent = (JFrame) SwingUtilities.getWindowAncestor(panel);
    // permet de connaitre la fenêtre dans laquelle le composant se trouve (panel, c'est la référence du composant où se trouve le MouseListener original (celui qui produit mouseReleased())
    Citation Envoyé par dalila15 Voir le message
    c'st à dire comme ça
    Oui, mais là tu ne fais que déclarer une variable sans lui donner de valeur, donc forcément c'est null, donc NullPointerException au moment de l'utiliser.

    Si tu as une classe Exemple du type :

    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
    public class Exemple extends JPanel {
     
        public Exemple() {
     
                // du code
                // du code
                // du code
     
                addMouseListener(new MouseAdapter() {
     
                         public void mouseReleased(MouseEvent event) {
     
                                    // du code
                                    // du code
                                    // du code
     
                                    JFrame parent = (JFrame) SwingUtilities.getWindowAncestor( Exemple.this ); // Exemple.this représente l'instance de classe Exemple qui englobe l'instance de MouseAdapter
     
                                    // du code
                                    // du code
                                    // du code
     
                         }
     
                });
     
                // du code
                // du code
                // du code
     
        }
     
     
    }
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  13. #13
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2017
    Messages : 108
    Par défaut
    la classe Exemple c'est une Jframe

    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
    public class Exemple extends JPanel  {
     JList liste = new JList();
     //Exemple panel;
     
    	private static final int MARGETOP = 50;
    	private static final int WIDTH = 100;
    	private static final int H = 60;
    	private static final int HEIGHT = 3 * H;
    	private static final int MARGIN = 5;
    	private static final int ARROW = 5;
     
    	private Rule[] rules = new Rule[5];
    	private List<Arrow> arrows = new ArrayList<>();
     
    	private int y = MARGETOP + H / 2;
    	private Arrow currentArrow; 
     
    	public Exemple() {
     //JButton jButton8 = new javax.swing.JButton();
      liste.setFont(new Font("Engravers MT", Font.PLAIN, 11));
         JScrollPane jScrollPane6 = new javax.swing.JScrollPane();
    		String[] ruleNames = { "UE", "NodeB", "DRNC", "SRNC", "CN" };
    		int x = 0;
    		for (int i = 0; i < rules.length; i++, x += WIDTH) {
    			rules[i] = new Rule(ruleNames[i], x, WIDTH);
    		}
     
    		setPreferredSize(new Dimension(860, 768));
     
                    JButton jButton8 = new javax.swing.JButton();
    		MouseAdapter mouseAdapter;
                mouseAdapter = new MouseAdapter() {
     
                    @Override
                    public void mousePressed(MouseEvent e) {
                        currentArrow = createArrow(e.getPoint());
                        repaint();
                    }
     
                    @Override
                    public void mouseDragged(MouseEvent e) {
                        updateArrow(e.getPoint());
                        repaint();
                    }
     
                    @Override
                    public void mouseReleased(MouseEvent e) {
     
                        updateArrow(e.getPoint());
                       int z=e.getY();
                        saveArrow();
     
                            if(e.getX()>=45&&e.getX()<=455 )
     
                                                        try {
     
         JFrame parent = (JFrame) SwingUtilities.getWindowAncestor(Exemple.this); // permet de connaitre la fenêtre dans laquelle le composant se trouve (panel, c'est la référence du composant où se trouve le MouseListener original (celui qui produit mouseReleased())
    jliste    b= new jliste(parent);
    String selection = b.getSelection();
    System.out.println(selection);
     
                        } catch (IOException ex) {
                            Logger.getLogger(Exemple.class.getName()).log(Level.SEVERE, null, ex);
                        } catch (EncryptedDocumentException ex) {
                            Logger.getLogger(Exemple.class.getName()).log(Level.SEVERE, null, ex);
                        } catch (InvalidFormatException ex) {
                            Logger.getLogger(Exemple.class.getName()).log(Level.SEVERE, null, ex);
                        }
     
     
     
     
     
     
     
                    }
     
                };
    		addMouseListener(mouseAdapter);
    		addMouseMotionListener(mouseAdapter);
     
    	}
    public static void main(String[] args) {
     
    		JFrame frame = new JFrame();
     
    		frame.add(new Exemple());
     
    		frame.pack();
    		frame.setLocationRelativeTo(null);
     
    		frame.setVisible(true);
     
     
    	}
    j'ai modifié ça par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        JFrame parent = (JFrame) SwingUtilities.getWindowAncestor(Exemple.this); // permet de connaitre la fenêtre dans laquelle le composant se trouve (panel, c'est la référence du composant où se trouve le MouseListener original (celui qui produit mouseReleased())
    jliste    b= new jliste(parent);
    String selection = b.getSelection();
    System.out.println(selection);
    y'a pas d'erreur,ça marche maintenant ..Mais l'element sélectionné ne s'affiche pas

  14. #14
    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 : 56
    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
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par dalila15 Voir le message
    la classe Exemple c'est une Jframe
    Bah, non, dans le code que tu montres, c'est un JPanel :

    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
    public class Exemple extends JPanel  {
     
    	
    public static void main(String[] args) {
     
    		JFrame frame = new JFrame();
     
    		frame.add(new Exemple());
     
    		frame.pack();
    		frame.setLocationRelativeTo(null);
     
    		frame.setVisible(true);
                    
     
    	}
     }


    Citation Envoyé par dalila15 Voir le message
    y'a pas d'erreur,ça marche maintenant ..Mais l'element sélectionné ne s'affiche pas
    ça doit être juste parce qu'il manque le setVisible(true) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      JFrame parent = (JFrame) SwingUtilities.getWindowAncestor(Exemple.this); 
    jliste    b= new jliste(parent);
    b.setVisible(true);
     
    String selection = b.getSelection();
    System.out.println(selection);
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  15. #15
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2017
    Messages : 108
    Par défaut
    Désolé mais la classe Exemple c'est la classe ou je vais faire l'appel de la classe jlist et la classe jlist c'est celle là ou je fais la correction par votre code
    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
    /*
     * To change this license header, choose License Headers in Project Properties.
     * To change this template file, choose Tools | Templates
     * and open the template in the editor.
     */
     
    /**
     *
     * @author W.S.I
     */
    import javax.swing.JFrame;
    import javax.swing.JList;
    import javax.swing.JLabel;
    import java.awt.BorderLayout;
    import javax.swing.event.ListSelectionEvent;
    import javax.swing.event.ListSelectionListener;
    import java.awt.Font;
    import java.awt.Frame;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javax.swing.DefaultListModel;
    import javax.swing.JDialog;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import org.apache.poi.EncryptedDocumentException;
    import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
     
    public final class jliste extends JDialog{
     
     JList<String> liste = new JList<>();
      private String selection;
    // ArrayList<String> listselect= new ArrayList<String>();
     //String  nom1   ;
    //ListSelectionEvent e;
     
     public jliste(Frame owner) throws IOException, FileNotFoundException, EncryptedDocumentException, InvalidFormatException{
         super(owner, true);
     	BorderLayout borderLayout = (BorderLayout) getContentPane().getLayout();
     	borderLayout.setHgap(100);
     
     //String choix[] = {" Ranap", " Rnsap", " Nbap", " RRC"};
     List<String> ranapdl= new java.util.ArrayList<>();
    			List<String> ranapul= new java.util.ArrayList<>();
    			List<String> ranap= new java.util.ArrayList<>();
    			List<String> rnsapdl= new java.util.ArrayList<>();
    			List<String> rnsapul= new java.util.ArrayList<>();
    			List<String> rnsap= new java.util.ArrayList<>();
    			List<String> nbapdl= new java.util.ArrayList<>();
    			List<String> nbapul= new java.util.ArrayList<>();
    			List<String> nbap= new java.util.ArrayList<>();
    			List<String> rrcdl= new java.util.ArrayList<>();
    			List<String> rrcul= new java.util.ArrayList<>();
    			List<String> rrc= new java.util.ArrayList<>();
    			List<String> vide= new java.util.ArrayList<>();
     
    excelreader ex=new excelreader("Call Trace info.xls",vide,ranapdl,ranapul,ranap,rnsapdl,rnsapul,rnsap,rrcdl,rrcul,rrc,nbapdl,nbapul,nbap);
     
    List<String> listf=ex.getfull_list();
    /*for (Iterator it=listf.iterator();it.hasNext();){
                  
                  
                System.out.println(it.next());}*/
     
       DefaultListModel listModel = new DefaultListModel();
      int size = listf.size();
            for (int index = 0; index < size; index++) {
                listModel.addElement(listf.get(index));
            }
            liste.setModel(listModel);
     
     liste.setFont(new Font("Engravers MT", Font.PLAIN, 11));
         JScrollPane jScrollPane6 = new javax.swing.JScrollPane();
         JPanel jPanel3 = new javax.swing.JPanel();
         jPanel3.setBounds(10, 110, 60, 10);
     
     jScrollPane6.setViewportView(liste);
      jPanel3.add(jScrollPane6, java.awt.BorderLayout.CENTER);
    getContentPane().add(jPanel3);
    setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    pack();
    setVisible(true);
     
     
    //liste.addListSelectionListener(this::listeValueChanged);
    String nom1  = (String) liste.getSelectedValue();
     
     
     }
     
     
     
    public void listeValueChanged(ListSelectionEvent e) {
    //ArrayList<String> listsele= new ArrayList<String>();
     
     String nom1  = (String) liste.getSelectedValue();
            if (e.getValueIsAdjusting() == true){
     
          selection = liste.getSelectedValue(); 
     
           dispose();
    }
    }
     
     
      public String getSelection() { 
            return selection;
      }
     
     
     
        public void actionPerformed(ActionEvent e) {
            throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
        }
     
     
    }
    et la classe Exemple celle là
    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
    public class Exemple extends JPanel  {
     JList liste = new JList();
     //Exemple panel;
     
    	private static final int MARGETOP = 50;
    	private static final int WIDTH = 100;
    	private static final int H = 60;
    	private static final int HEIGHT = 3 * H;
    	private static final int MARGIN = 5;
    	private static final int ARROW = 5;
     
    	private Rule[] rules = new Rule[5];
    	private List<Arrow> arrows = new ArrayList<>();
     
    	private int y = MARGETOP + H / 2;
    	private Arrow currentArrow; 
     
    	public Exemple() {
     //JButton jButton8 = new javax.swing.JButton();
      liste.setFont(new Font("Engravers MT", Font.PLAIN, 11));
         JScrollPane jScrollPane6 = new javax.swing.JScrollPane();
    		String[] ruleNames = { "UE", "NodeB", "DRNC", "SRNC", "CN" };
    		int x = 0;
    		for (int i = 0; i < rules.length; i++, x += WIDTH) {
    			rules[i] = new Rule(ruleNames[i], x, WIDTH);
    		}
     
    		setPreferredSize(new Dimension(860, 768));
     
                    JButton jButton8 = new javax.swing.JButton();
    		MouseAdapter mouseAdapter;
                mouseAdapter = new MouseAdapter() {
     
                    @Override
                    public void mousePressed(MouseEvent e) {
                        currentArrow = createArrow(e.getPoint());
                        repaint();
                    }
     
                    @Override
                    public void mouseDragged(MouseEvent e) {
                        updateArrow(e.getPoint());
                        repaint();
                    }
     
                    @Override
                    public void mouseReleased(MouseEvent e) {
     
                        updateArrow(e.getPoint());
                       int z=e.getY();
                        saveArrow();
     
                            if(e.getX()>=45&&e.getX()<=455 )
     
                                                        try {
     
         JFrame parent = (JFrame) SwingUtilities.getWindowAncestor(Exemple.this); // permet de connaitre la fenêtre dans laquelle le composant se trouve (panel, c'est la référence du composant où se trouve le MouseListener original (celui qui produit mouseReleased())
    jliste    b= new jliste(parent);
    String selection = b.getSelection();
    b.setVisible(true);
    System.out.println(selection);
     
                        } catch (IOException ex) {
                            Logger.getLogger(Exemple.class.getName()).log(Level.SEVERE, null, ex);
                        } catch (EncryptedDocumentException ex) {
                            Logger.getLogger(Exemple.class.getName()).log(Level.SEVERE, null, ex);
                        } catch (InvalidFormatException ex) {
                            Logger.getLogger(Exemple.class.getName()).log(Level.SEVERE, null, ex);
                        }
     
     
     
     
     
     
     
                    }
     
                };
    		addMouseListener(mouseAdapter);
    		addMouseMotionListener(mouseAdapter);
     
    	}
     
    	protected void saveArrow() {
    		if (currentArrow != null && currentArrow.isValid()) {
    			arrows.add(currentArrow);
    			y += H;
     
    		}
    		currentArrow = null;
    	}
     
    	private Arrow createArrow(Point point) {
    		for (Rule rule : rules) {
    			if (rule.contains(point)) {
    				return rule.createArrow(point, y);
    			}
    		}
    		return null;
    	}
     
    	private void updateArrow(Point point) {
    		if (currentArrow != null) {
    			for (Rule rule : rules) {
    				if (rule.contains(point)) {
    					rule.updateArrow(currentArrow, point);
     
    				}
    			}
    		}
    	}
     
    	@Override
    	public void paint(Graphics g) {
    		super.paint(g);
    		for (Rule rule : rules) {
    			rule.draw(g);
    		}
     
    		g.setColor(Color.BLACK);
    		for (Arrow arrow : arrows) {
    			arrow.draw(g);
    		}
     
    		g.setColor(Color.BLACK);
    		if (currentArrow != null) {
    			currentArrow.draw(g);
    		}
    	}
     
    	public static void main(String[] args) {
     
    		JFrame frame = new JFrame();
     
    		frame.add(new Exemple());
     
    		frame.pack();
    		frame.setLocationRelativeTo(null);
     
    		frame.setVisible(true);
     
     
    	}
    Le probleme après la récupération de l'elemnt selectionné on ne peut pas l'afficher.quand je clique sur la jlist rien ne s'affiche et lorsque je ferme la jlist dans la barre d'execution il nous donne null par contre que j'ai déja cliqué

    Merci encore

  16. #16
    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 : 56
    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
    Billets dans le blog
    2
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    //liste.addListSelectionListener(this::listeValueChanged);
    String nom1  = (String) liste.getSelectedValue();
    Euh, pourquoi avoir commenté la première des deux lignes au-dessus ? Tu n'as plus d'écouteur sur la JList maintenant, donc c'est sûr que la sélection n'est plus captée. Décommente-là, il faut bien sûr écouter les changements de sélection pour mettre à jour l'attribut selection.

    La deuxième ligne, en revanche, ne sert à rien (et n'a jamais servi à rien, puisque, comme te l'as dit @Tchize_, elle récupérait la sélection avant que l'utilisateur n'ait eu le temps de sélectionner quoique ce soit.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  17. #17
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2017
    Messages : 108
    Par défaut
    Nom : Capture.PNG
Affichages : 369
Taille : 15,1 Ko

  18. #18
    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 : 56
    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
    Billets dans le blog
    2
    Par défaut
    Tu parles que ça peut me servir à pas grand chose, le résulat final... Le dialogue, avec la liste, il s'affiche ou pas ?
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  19. #19
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2017
    Messages : 108
    Par défaut
    oui j'ai essayé encore de le decommenter mais meme probleme
    voila l'execution Quand je clique sur la liste l'elemnt selectionné ne s'affiche pas dans le outpout Nom : 1.PNG
Affichages : 408
Taille : 163,8 Koet quand je ferme la liste il y'aura null, dans l'output par contre que j'ai déja cliqué avantNom : 2.PNG
Affichages : 370
Taille : 48,7 Ko

  20. #20
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2017
    Messages : 108
    Par défaut
    Voici le code de la classe jlist modifiée
    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
    import javax.swing.JFrame;
    import javax.swing.JList;
    import javax.swing.JLabel;
    import java.awt.BorderLayout;
    import javax.swing.event.ListSelectionEvent;
    import javax.swing.event.ListSelectionListener;
    import java.awt.Font;
    import java.awt.Frame;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javax.swing.DefaultListModel;
    import javax.swing.JDialog;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import org.apache.poi.EncryptedDocumentException;
    import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
     
    public final class jliste extends JDialog{
     
     JList<String> liste = new JList<>();
      private String selection;
     
     
     public jliste(Frame owner) throws IOException, FileNotFoundException, EncryptedDocumentException, InvalidFormatException{
         super(owner, true);
     	BorderLayout borderLayout = (BorderLayout) getContentPane().getLayout();
     	borderLayout.setHgap(100);
     
     
     List<String> ranapdl= new java.util.ArrayList<>();
    			List<String> ranapul= new java.util.ArrayList<>();
    			List<String> ranap= new java.util.ArrayList<>();
    			List<String> rnsapdl= new java.util.ArrayList<>();
    			List<String> rnsapul= new java.util.ArrayList<>();
    			List<String> rnsap= new java.util.ArrayList<>();
    			List<String> nbapdl= new java.util.ArrayList<>();
    			List<String> nbapul= new java.util.ArrayList<>();
    			List<String> nbap= new java.util.ArrayList<>();
    			List<String> rrcdl= new java.util.ArrayList<>();
    			List<String> rrcul= new java.util.ArrayList<>();
    			List<String> rrc= new java.util.ArrayList<>();
    			List<String> vide= new java.util.ArrayList<>();
     
    excelreader ex=new excelreader("Call Trace info.xls",vide,ranapdl,ranapul,ranap,rnsapdl,rnsapul,rnsap,rrcdl,rrcul,rrc,nbapdl,nbapul,nbap);
     
    List<String> listf=ex.getfull_list();
    /*for (Iterator it=listf.iterator();it.hasNext();){
                  
                  
                System.out.println(it.next());}*/
     
       DefaultListModel listModel = new DefaultListModel();
      int size = listf.size();
            for (int index = 0; index < size; index++) {
                listModel.addElement(listf.get(index));
            }
            liste.setModel(listModel);
     
     liste.setFont(new Font("Engravers MT", Font.PLAIN, 11));
         JScrollPane jScrollPane6 = new javax.swing.JScrollPane();
         JPanel jPanel3 = new javax.swing.JPanel();
         jPanel3.setBounds(10, 110, 60, 10);
     
     jScrollPane6.setViewportView(liste);
      jPanel3.add(jScrollPane6, java.awt.BorderLayout.CENTER);
    getContentPane().add(jPanel3);
    setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    pack();
    setVisible(true);
     
     
    liste.addListSelectionListener(this::listeValueChanged);
     
     
     
     }
     
     
     
    public void listeValueChanged(ListSelectionEvent e) {
     
            if (e.getValueIsAdjusting() == true){
     
          selection = liste.getSelectedValue(); 
     
           dispose();
    }
    }
     
     
      public String getSelection() { 
            return selection;
      }
     
     
     
        public void actionPerformed(ActionEvent e) {
            throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
        }
     
     
    }

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/01/2007, 21h51
  2. Probleme d utilisation de template dans le cpp
    Par Math75 dans le forum Langage
    Réponses: 2
    Dernier message: 07/10/2005, 16h26
  3. [Système][Environnement] Problème d'utilisation?!?
    Par waldo2188 dans le forum Général Java
    Réponses: 5
    Dernier message: 23/03/2005, 17h18
  4. Probleme d'utilisation de directX 9 avec visual studio.net
    Par cranedoeuf dans le forum DirectX
    Réponses: 1
    Dernier message: 24/05/2004, 04h33
  5. [Debutant] probleme pour utiliser les classes d'un .jar
    Par pissek dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 12/05/2004, 18h21

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