Bonjour à tous,
J'ai un petit problème pour afficher le rendu du Header de ma JTable.
Je m'explique, j'initialise ma JTable avec 2 vecteurs d'objet :
Ensuite j'applique un rendu sur les colonnes et les cellules de ma tableCode:
1
2
3 Vector<Object> vTitle = new Vector<Object>(); Vector<Vector<Object>> vDatas = new Vector<Vector<Object>>();
Voici ma classe permettant d'appliquer le rendu de l'en tête des colonnesCode:
1
2
3
4
5 maTable.setModel(new MonModel(vDatas, vTitle)); maTable.getTableHeader().setDefaultRenderer(new HeaderRender()); maTable.setDefaultRenderer(Object.class, new DatasRender());
Le problème est que la valeur de ma colonne est toujours une instance du type String alors que j'initialise mon vecteur de titre avec des variables de type MonObject. Que dois faire pour que cette classe fonctionne?Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 public class HeaderRender extends DefaultTableCellRenderer { @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { JPanel panelCell = new JPanel(); if (value instanceof MonObject) { // Ne rentre jamais dans cette condition // car value est toujours une instance de String } return panelCell;