Bonjour,

Je construit un MyTabbedPanede la maniere suivante (contenu constructeur d'une classe qui hérite directement de JTabbedPane:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
MyTabbedPane{
super(JTabbedPane.LEFT);
setTabLayoutPolicy(SCROLL_TAB_LAYOUT);}
Dans un écran, j'ai une table, qui selon la ligne selectionnée affiche un MyTabbedPane(de N onglets) de ce type.

lorsque je change de ligne, je fais un myTabbedPane.removeAll() pour nettoyer mon ecran et reconstruire ensuite un MyTabbedPane avec la nouvelle selection de la table.

Or, lorsque mon myTabbedPane comporte suffisamment d'onglet pour faire apparaitre les scroll buttons, mon removeAll() supprime bien les onglets mais ne supprime pas ces scroll buttons.


Ce qui a pour effet de m'afficher un panel vide avec 2 scroll buttons dedans (haut et bas) au lieu d'un panel totalement vide.

S'agit il d'un bug ou je fais qqch de mal ?

J'utilise un workaround assez sale qui me leve une stack, mais qui a le mérite de faire un écran plus clean (plus de scroll button inutile).

au lieu de
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
myTabbedPane.removeAll();
myTabbedPane.revalidate();
je fais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
myTabbedPane.setTabLayoutPolicy(JTabbedPane.WRAP_TAB_LAYOUT);
myTabbedPane.removeAll();
 
myTabbedPane.revalidate();  
myTabbedPane.repaint();
myTabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
Des idées ?