Bonjour à tous,

Je développe une application qui utilise les onglets. J'ai mis en place le fait de pouvoir fermer l'onglet avec la méthode setTabComponentAt(int, Component).
Le component que j'ajoute en argument à cette méthode est un JPanel (contenant 2 JLabel).
Mais l'entête des onglets sur lesquelles j'appelle la méthode setTabComponentAt(int, Component) a une taille bien plus grosse que les en-têtes par défaut des onglets (JTabbedPane).
Voici le code source où j'appelle le setTabComponentAt();
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
tab.addTab ("Filtrage", null, panelTotal, "Informations Filtrees");
		tab.setTabComponentAt (1, new TabButton ("Filtrage"));
		tab.setSelectedIndex (1);
et le code de TabButton (String) :
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
35
36
37
38
39
public class TabButton extends JPanel {
 
		JLabel cross;
		public TabButton (String label) {
			super (new FlowLayout ());
			setBorder (BorderFactory.createLineBorder (Color.red));
			setOpaque (false);
			add (new JLabel (label));
			final ImageIcon close = new ImageIcon (LoadingFiles.getCloseButton ());
			final ImageIcon closeRollOver = new ImageIcon (LoadingFiles.getCloseButtonRollOver ());
 
			cross = new JLabel (close);
			cross.setToolTipText ("Fermer onglet");
			cross.addMouseListener (new MouseListener() {
 
				@Override
				public void mouseReleased (MouseEvent arg0) {}
 
				@Override
				public void mousePressed (MouseEvent arg0) {}
 
				@Override
				public void mouseExited (MouseEvent arg0) {
					cross.setIcon (close);
				}
 
				@Override
				public void mouseEntered (MouseEvent arg0) {
					cross.setIcon (closeRollOver);				
				}
 
				@Override
				public void mouseClicked (MouseEvent arg0) {
					tab.remove (tab.getSelectedIndex ());				
				}
			});
			add (cross);
		}
	}
Et voici visuellement ce que ça donne :
Image montrant un onglet par défaut :


Image montrant un onglet après l'appel à setTabComponentAt() :


Comme on peut le voir, la taille de l'en-tête a augmenter en hauteur. Il y a des espaces entre le bord du panel (symbolisé par la bordure rouge) et les bords de l'en-tête de l'onglet.

Comment peut-on faire pour que ces espaces disparaissent ?

Merci d'avance
Elhina