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 :

Problème Rafraichissement JList


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 68
    Par défaut Problème Rafraichissement JList
    Bonjour à tous, je galère un peu à rafraichir ma JList. Voici mon problème :

    Je possède un Panel principal avec ma JList. Dans cette JList je récupère Nom et Prénom d'un csv.
    J'ai 3 boutons ajouter, modifier et supprimer. Et donc a la fin de ces 3 actions il faudrait que ma list soit rafraichie. Ajouter et modifier sont 2 panels qui sont crées dans une nouvelle class.



    Donc si par exemple je décide de modifier un contact lorsque je clique sur le bouton Modifier de mon 2eme panel j'aimerais faire qqch comme ca mais ca ne fonctionne pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Fenetre_principale Fen_p = new Fenetre_principale();
    fen_p.List_Contact.repaint();
    Ma list est incrémenté avec un simple tableau comme ceci dans mon premier panel

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public JList List_Contact = new JList(List_Init());
    J'ai essayé avec repaint(), revalidate(), des choses que j'ai vu par ci par la sur les forums. Voilà j'espère avoir été assez clair, merci de votre aide

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Es-tu certain que les données sont modifiées dans le modèle de la JList ?
    Si oui, alors il faut faire un fireContentsChange par exemple. Cette méthode est disponible dans l'AbstractListModel. Elle est protected donc à toi de créer ton propre modèle.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 68
    Par défaut
    En fait ma JList est instancié par cette méthode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    	public String[] List_Init() {
    		String[] List_Init = new String[cpt_ligne()]; 
    		String[][] tab_contact = csv_to_tab();
    		for(int i = 0; i < List_Init.length ; i++)
    			List_Init[i] = tab_contact[i][0] + " " + tab_contact[i][1];
    		Arrays.sort(List_Init);
    		return List_Init;
    	}
    tab_contact est mon fichier csv que j'ai modifié en tableau pour travailler dessus plus simplement. Donc lors d'une modif d'un contact je modifie le tableau et reécris le csv.

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Décembre 2009
    Messages : 67
    Par défaut
    pour modifier une ligne de ta JList tu cherche l'indice de la ligne (par exemple ou il ya le nom que tu veut changer )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    //tu recupere le model de ta JList
    DefaultListModel Defaultmodel = (DefaultListModel) ta_list.getModel();
    int index = Defaultmodel.indexOf(chaine a recherché);
    Defaultmodel.set(index,"nouvelle valeur");
    ta_list.setModel(Defaultmodel);
    pour supprimé tu fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Defaultmodel.remove(index);
    ta_list.setModel(Defaultmodel);
    pour ajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Defaultmodel.addElement("valeur a ajouter");
    ta_list.setModel(Defaultmodel);
    suite a ton besoin si tu est obligé de changer ton fichier tu récupère le contenu de ta JList et tu le met dans le fichier
    une petit tri de ta Jlist sa sera mieux voici un exemple de tri selon les lettre
    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 static void TriJList(JList list){
    		DefaultListModel model = new DefaultListModel();
    		model= (DefaultListModel) list.getModel();
    		if(!model.isEmpty() && model!=null){
    			ArrayList array = new ArrayList();
    			for(int i=0;i<model.size();i++){
    			  array.add(model.getElementAt(i)); 
    			}
    			Collections.sort(array,Collator.getInstance(Locale.FRANCE));
    			DefaultListModel NewModel = new DefaultListModel(); 
    		    for(int i=0;i<array.size();i++){
    		    	NewModel.addElement(array.get(i).toString());
    		    }
    		    list.setModel(NewModel);
    		}
    	}
    just tu appel cette methode en passent ta JList comme parametre et elle sera trié

Discussions similaires

  1. [PHP-JS] Problème rafraichissement de page
    Par iwf-fr dans le forum Langage
    Réponses: 5
    Dernier message: 07/05/2007, 18h46
  2. Réponses: 4
    Dernier message: 12/03/2007, 17h51
  3. [BCB 6]Problème Rafraichissement Table dans QReport
    Par arnaud_verlaine dans le forum C++Builder
    Réponses: 2
    Dernier message: 20/11/2006, 20h23
  4. Problème rafraichissement page
    Par guigui11 dans le forum ASP
    Réponses: 3
    Dernier message: 16/10/2006, 11h04
  5. Rafraichissement JList
    Par Noosymer dans le forum Composants
    Réponses: 8
    Dernier message: 14/04/2006, 19h27

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