JTabbedPane - Scroll button not removable apres removeAll()
Bonjour,
Je construit un MyTabbedPanede la maniere suivante (contenu constructeur d'une classe qui hérite directement de JTabbedPane:
Code:
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:
1 2 3
|
myTabbedPane.removeAll();
myTabbedPane.revalidate(); |
je fais
Code:
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 ?