jtabbedpane InserTab() et getTabCount()
Bonjour, je compte parmi les débutants de java, et après avoir cherché, je ne trouve pas mon erreur et ne comprends pas ce qui se produit, je m'explique:
je veux avoir une jframe contenant un jtabbedpane avec des onglets dynamiques, je crée le premier onglet avec un jpanel, et un 2° vide avec un "+" en titre.
j'implémente un ChangeListener sur mon jtabbedpane et lui demande, si l'util a cliqué sur l'onglet "+", d'insérer une nouvelle tab juste avant ce dernier onglet.
problème au lieu de m'insérer mon nouvel onglet, il me renomme le premier en "+" et plante.
Le plantage vient je pense du getTabCount(), je m'en sers pour insérer le nouvel onglet juste avant l'onglet "+". Au lancement il vaut 2, ce qui est normal car j'ai le 1er onglet et le "+", mais après l'évènement j'ai toujours le même nombre d'onglets, mais il vaut maintenant 1!!! J'ai bien peur de ne pas comprendre.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
jTabbedPane1.addChangeListener(new ChangeListener()(
public void stateChanged(ChangeEvent e) {
//je place l'index juste avant le dernier onglet
index = jTabbedPane1.getTabCount()-1;
//si l'objet selectionne est le dernier
if(jTabbedPane1.getTitleAt(index).equals("+")){
//on ajoute le nouvel onglet
JPanel jPanel2 = new JPanel();
jPanel2 = jPanel1;
String title = "Poule "+index;
jTabbedPane1.insertTab(title,null,jPanel2,null,index);
//je me positionne sur l'onglet fraichement crée
jTabbedPane1.setSelectedIndex(index);
}
}
}); |
merci d'avance.