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 :

Mise à jour automatique de la JList avec un Vector


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 1
    Par défaut Mise à jour automatique de la JList avec un Vector
    Salut tout le monde,

    Je suis dans l'impasse, je n'arrive pas à comprendre pourquoi mon code ne fonctionne pas, j'explique :
    Lorsque j'appuie sur Add j'ajoute un élément dans mon Vector et normalement la JList doit se mettre à jour automatiquement (via le setListData qui créé un DefaultListModel) or quand j'ajoute quelque chose dans le Vector la JList plante !

    Voici le 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
    import java.awt.event.ActionEvent;
    import java.util.Vector;
     
    import javax.swing.AbstractAction;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JList;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTextField;
     
     
    public class Test extends AbstractAction{
    	private Vector<Integer> vi;
    	private JTextField num;
    	private JButton add;
    	private JList jl;
    	private JFrame jf;
    	private JPanel jp;
    	public Test()
    	{
    		vi = new Vector<Integer>();
    		vi.add(2);
    		jf = new JFrame();
    		jp = new JPanel();
    		jl = new JList(vi);
    		JScrollPane jsp = new JScrollPane(jl);
    		jp.add(jsp);
    		jp.add(num = new JTextField(1));
    		jp.add(add=new JButton("Add"));
    		add.setAction(this);
    		jf.add(jp);
    		jf.pack();
    		jf.setVisible(true);
    		jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
     
    	}
    	@Override
    	public void actionPerformed(ActionEvent e) {
    		try{
    			vi.add(Integer.parseInt(num.getText()));
    			System.out.println(vi);
    		}
    		catch(Exception ex)
    		{
     
    		}
     
    	}
    	public static void main(String[] args) {
    		new Test();
    	}
    }
    Merci pour vos lumières
    A+

    EDIT : J'ai réussi à le faire fonctionner en utilisant un DefaultListModel à la place de mon Vector mais en principe le Vector seul devrait s'occuper de créer son propre DefaultListModel non ?

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Ce n'est pas dans le vector qu'il faut ajouter les données mais dans le modèle de la liste, (normalement le DefaultListModel possède une méthode addElement permettant ceci).

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/07/2014, 01h40
  2. Mise à jour automatique du stock avec un trigger
    Par jack911 dans le forum Requêtes
    Réponses: 7
    Dernier message: 19/10/2008, 11h51
  3. Lier 2 tables avec mise à jour automatique
    Par Françoisguy dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 04/12/2007, 13h12
  4. Mise à jour automatique avec donnees d'une autre base
    Par mcdelay dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 16/11/2007, 09h50
  5. Réponses: 7
    Dernier message: 16/06/2007, 12h03

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