Bonjour,

je dois aligner à droite les colonnes de plsuieurs tables qui héritent (en arrière petit enfant) de JTable.
Après avoir cherché un peu , j'ai écrit cette méthode que j'appelle avec la table en parametre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
/** cette methode aligne toutes les colonnes à droite
* ne pas appeler sur table vide mais table remplie */
public void allRight (JTable table) {
    TableColumn column = null;
    int n=table.getColumnCount();
    for (int i = 0; i < n; i++) {
         column = table.getColumnModel().getColumn(i);
         DefaultTableCellRenderer renderer = new DefaultTableCellRenderer();
         renderer.setHorizontalAlignment(SwingConstants.RIGHT);
         column.setCellRenderer(renderer);
    }
}
Mon problème est que ça marche bien sur les tables qui ne font que de l'affichage simple. Mais je perd la mise en forme des cellules qui ont déjà un autre renderer ( zone obligatoire avec couleur de fond, combobox dans une cellule, etc...). Comme si le renderer de la colonne annulait les autres. Quand je clique dans une combobox, au lieu de garder le texte de la liste, j'ai des sigles bizarres ( du genre adresse de pointeur) et une exception NulPointerException se déclenche.
Comment faire pour récupérer les rendrers existants au niveau cellule alors que je suis au niveau colonne ?

Comment faire ?
J'ai l'impression de perdre beaucoup de temps sur ce qui aurait dû être une opération simple.
Quelqu'un sait ?

oum