Bonjour à tous,

J'essaye désespérement de centrer le titres des en-têtes de mes colonnes d'un JTable.
J'ai essayé le code qu'il y a dans la FAQ:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
TableCellRenderer headerRenderer = table.getTableHeader().getDefaultRenderer());
((DefaultTableCellRenderer) headerRenderer).setHorizontalAlignment(DefaultTableCellRenderer.CENTER);
J'ai également essayé de mettre de l'html dans mes titres, mais toujours rien.

Mon application utilise le look&n&feel du système (peut-être le problème vient de là ?)

J'ai donc essayé de récupérer l'UI, de mettre en centré avec une classe interne, puis de refixer l'UI, mais ça ne fonctionne pas :
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
public Table (TableModel tableModel) {
		super (tableModel);
		this.getTableHeader ().setReorderingAllowed (false); // On ancre les colonnes (on interdit les utilisateurs de les bouger)
		TableHeaderUI tableHeaderUI = this.getTableHeader ().getUI ();
		this.getTableHeader ().setDefaultRenderer (new HeaderRenderer ());
		this.getTableHeader ().setUI (tableHeaderUI);
	}
 
class HeaderRenderer extends DefaultTableCellRenderer {
		public HeaderRenderer () {
			setHorizontalAlignment (SwingConstants.CENTER);
			setOpaque (true);
			setBorder (UIManager.getBorder ("TableHeader.cellBorder"));
		}
 
		public void updateUI () {
			super.updateUI ();
			setBorder (UIManager.getBorder ("TableHeader.cellBorder"));
		}
 
	}
Ce code me centre bien les titres, mais me perd le look&n&feel sur les en-têtes des colonnes : je me retrouve avec des en-têtes sans fond ni bordure.

Avez vous une idée ?

Merci d'avance,
Elhina