[Debutant] JList java retourne tjrs null !!

Résolu/Fermé
wadjo - Modifié par wadjo le 28/04/2011 à 21:02
 wadjo - 29 avril 2011 à 22:04
Bonjour,
Mon probleme est simple,
En effet je fait appel a une fenetre comportant une Liste, et je veut recuperer une valeur que l'utilisateur selectionne, pour l'utiliser dans la classe appelante.
Mais je recoit toujours, la valeur null !!
Voila mon code, j'espere que vous me soutenez un peu car j'ai beaucoup essayé mais sans resultat ..
public class ListeVar extends javax.swing.JFrame { 
    ArrayList<Variables> Arrays = new ArrayList<Variables>(); 
    private String Id_Var ; 
    private String Designation; 
    /** Creates new form ListeVar */ 
    private ListDemo LD = new ListDemo("Liste des Variables"); 
    ConnexionDB DB; 
    private String id; 
    public ListeVar(String idform, String idvar, String designation) { 
        DB = new ConnexionDB(); 
        DB.OuvrirConnexion(); 
        LD.RemplirListe(Arrays); 
        LD.setBounds(new Rectangle(370, 10, 295, 430)); 
        LD.getList().setSelectedIndex(0); 
         
        add(LD); 
        setId(idvar); 
        setVisible(true); 
        setLocationRelativeTo(null); 
         
        LD.getList().addListSelectionListener(new ListSelectionListener() { 
            public void valueChanged(ListSelectionEvent e) { 
  
            if (e.getValueIsAdjusting() == false) 
                { 
                try{ 
                 
                Object objrech = LD.getList().getSelectedValue(); 
                String intermediaire = String.valueOf(objrech); 
                setDesignation(intermediaire); 
  
                setId_Var(DB.RetrouverVariable(intermediaire)); 
                int reponse = JOptionPane.showConfirmDialog(null, "Etes vous sur d'utiliser cette variable\ndans la formule en cours ?","Choix", JOptionPane.YES_NO_OPTION ); 
                if (reponse == JOptionPane.YES_OPTION) 
                { 
  
                    if((getId_Var()==null)||(intermediaire == null)) 
                        JOptionPane.showMessageDialog(null, "Choisissez une variable", "Choix", JOptionPane.WARNING_MESSAGE); 
                    else 
                    { 
                        Id_Var = getId_Var(); 
                        setDesignation(getDesignation());  
                        /* 
                         * retourne id var a la place du string fourni vide 
                         * de la classe out (appelante) 
                         */ 
                        JOptionPane.showMessageDialog(null, "Voila l'Id de la variable choisie\n" +getId_Var(), "Id retourné", JOptionPane.INFORMATION_MESSAGE); 
                        dispose(); 
                    } 
                } 
                } 
                 catch (NumberFormatException ex) { 
                 JOptionPane.showMessageDialog(null, "Impossible de convertir la designation choisie", "Conversion", JOptionPane.WARNING_MESSAGE); 
                } 
  
                } 
  
            } 
        }); 
        DB.FermerConnection(); 
    }


Et voila la classe qui contient mon modele de liste
public class ListDemo extends JPanel 
                       { 
    private JList list; 
    private DefaultListModel listModel; 
  
    private JLabel Variables; 
  
    public ListDemo(String titreliste) { 
        super(new BorderLayout()); 
        listModel = new DefaultListModel(); 
        Font f = new Font("Trebuchet MS", Font.ITALIC, 12); 
        list = new JList(listModel); 
        list.setFont(f); 
        list.setBackground(Color.WHITE); 
        list.setForeground(Color.black); 
        list.setBorder(javax.swing.BorderFactory.createTitledBorder(null,titreliste, javax.swing.border.TitledBorder.LEFT, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Trebuchet MS", 1, 12), new java.awt.Color(0, 0, 102))); 
        list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); 
        list.setSelectedIndex(0); 
        list.setVisibleRowCount(20); 
        JScrollPane listScrollPane = new JScrollPane(getList()); 
  
        add(listScrollPane, BorderLayout.CENTER); 
  
    } 
    public void RemplirListe(ArrayList al) 
         { 
        ConnexionDB DB = new ConnexionDB(); 
        DB.OuvrirConnexion(); 
        al = DB.RecupererVariables(); 
        Variables V = new Variables(); 
        for (int i =0; i<al.size(); i++) 
        { 
            V = (Variables) al.get(i); 
            listModel.addElement(V.getDesignation()); 
        } 
        DB.FermerConnection(); 
         } 
}

En gros je veut bloquer la fenetre jusqu'a ce que l'utilisateur choisi une valeur de la liste
Merci pour toute réponse c'est mon gros fardeau .

A voir également:

2 réponses

svp une reponse je vous en prie c'est un gros probleme dans mon pfe !
0
résolu seul merci :)
0