Bonjour à tous,
Je vous soumet un problème très bizarre et que je n'arrive pas à m'expliquer.
J'ai une interface graphique avec une liste déroulante.
Lorsque l'on choisit un élément dans cette liste l'affichage de la page est modifié :
voici l'action :
Si j'applique cette actionPerformed à un bouton, celà fonctionne très bien.
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 addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String typeTempsPartiel=types.getSelectedItem().toString(); String quotiteTempsPartiel=quotites.getSelectedItem().toString(); String nbmoistp=mois.getText(); Pattern mapattern=Pattern.compile("[0-9]{1,2}"); if (!( mapattern.matcher(nbmoistp).matches())) { nbmoistp="0"; } int nbMoisTempsPartiel=Integer.parseInt(nbmoistp); monCourant.afficheTP(fenetre,typeTempsPartiel,quotiteTempsPartiel,nbMoisTempsPartiel,""); } });
Par contre si je l'affecte à ma liste déroulante de manière à ce que le changement d'affichage se fasse dès la sélection je me retrouve avec un message d'erreur :
"Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 2, Size: 2"
Le bout de code qui coince est celui ci :
Est-ce que quelqu'un aurait une idée du pourquoi cette ligne de code passe au premier affichage, passe si on l'utilise via un bouton, mais pas si on l'intègre à la liste déroulante.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 JPanel reset=new JPanel(); fenetre.setContentPane(reset);
Merci d'avance.
Louve.
Partager