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

avec Java Discussion :

Remplissage d'une liste erroné


Sujet :

avec Java

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 221
    Points : 61
    Points
    61
    Par défaut Remplissage d'une liste erroné
    Salut !
    J'essaye de faire une méthode qui me remplis une liste qui se trouve dans la meme classe que la méthode a partir d'une autre classe
    mais j'ai une erreur au niveau du deuxieme ajout voici mon 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
    public class ListSynchrone {
     
        ArrayList<ArrayList<Synchrone>> listsyn=new ArrayList();
     
        public ListSynchrone()
        {
     
        }
     
     public void ajouterListSy(int i,int j,Transition tdeb, SWN sw,ArrayList<Transition>tf)
        {
            listsyn.add(i,new ArrayList() );
            listsyn.get(i).add(j,new Synchrone(tdeb, sw,tf));
     
        }
     
     
     
    }
    et voici la JFrame ou je fais le remplissage

    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 AjouterCompositionSy extends javax.swing.JInternalFrame {
         ListSynchrone synchrone=new  ListSynchrone();
     
    private void synActionPerformed(java.awt.event.ActionEvent evt) {                                    
    l++;   
    if(l==2)
    newc.setEnabled(true);
     
     if(cl==true)
     {synchrone.ajouterListSy(indice, nb,new Transition (Td.getSelectedItem().toString()),new SWN(client.getSelectedItem().toString()), tr);
     
    nb++;
     serveur.setEnabled(true);}
     if(se==true)
     {
         synchrone.ajouterListSy(indice, nb,new Transition (Td.getSelectedItem().toString()),new SWN(serveur.getSelectedItem().toString()), tr);
     
    nb++;
        client.setEnabled(true); 
     }
     
      l++;
        if(l==2)
            newc.setEnabled(true);
        cl=false;
        se=false;
       // Swn.removeAllItems(); 
        Td.removeAllItems();
        Ts.removeAllItems();
    tr=new ArrayList();
     
    }                                   
    }
    le premier ajout se passe bien après le 2 eme ajout me génère une erreur a ce niveau dans la méthode d'ajout, j'arrive pas a voir ou est l'erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            listsyn.get(i).add(j,new Synchrone(tdeb, sw,tf));
    voici l'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 1, Size: 0
    	at java.util.ArrayList.add(ArrayList.java:367)
    	at pfe_version2.ListSynchrone.ajouterListSy(ListSynchrone.java:38)
    	at pfe_version2.AjouterCompositionSy.synActionPerformed(AjouterCompositionSy.java:367)
    	at pfe_version2.AjouterCompositionSy.access$1000(AjouterCompositionSy.java:20)
    	at pfe_version2.AjouterCompositionSy$11.actionPerformed(AjouterCompositionSy.java:147)

  2. #2
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Quand ta liste est vide, tu ne peux insérer un élément qu'à la position 0.

    L'erreur provient du fait que tu essayes d'insérer un élément à la position 1 dans une liste vide.

    Ensuite :
    • dans une liste contenant 1 élément, tu peux ajouter un élément en position 0 (avant l'élément déjà présent), ou en posiion 1 (après).
    • dans une liste contenant 2 éléments, un nouvel élément peut être ajouté en position 0, 1, ou 2.
    • etc.


    Une bonne manière de ne pas avoir de problèmes est d'utiliser la méthode "add" sans préciser de position : elle fonctionnera toujours en ajoutant le nouvel élément à la fin de la liste.
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  3. #3
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,

    L'utilisation d'un map avec un entier comme clé ne te convient pas?

    A+.

Discussions similaires

  1. Probleme de remplissage d'une liste déroulante
    Par kodo dans le forum Struts 1
    Réponses: 3
    Dernier message: 23/08/2007, 16h13
  2. Remplissage d'une liste deroulante
    Par monphp dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 25/05/2007, 12h28
  3. remplissage d'une liste déroulante à partir d'une autre liste
    Par monphp dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/05/2007, 12h28
  4. [MySQL] Remplissage d'une liste déroulante à partir d'une requête SQL
    Par gaucher dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 11/05/2006, 15h46
  5. [WD9] Non remplissage d'une liste dans un composant
    Par Romanops dans le forum WinDev
    Réponses: 3
    Dernier message: 06/04/2006, 17h05

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