Créer un JTable avec List<List<Object> et lui appliquer un CellEditor
Bonjour,
J'ai un tableau defini par son modele comme suit :
Code:
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
| public class ModeleDynamiqueObjectTable extends AbstractTableModel {
// variables
private List<List<Object>> data;
private List<String> enteteColonnes;
//autres methodes puis les Override
@Override
public int getRowCount() {
return data.size();
}
@Override
public int getColumnCount() {
return enteteColonnes.size();
}
@Override
public String getColumnName(final int columnIndex) {
return enteteColonnes.get(columnIndex);
}
@Override
public Object getValueAt(final int rowIndex, final int columnIndex) {
return data.get(rowIndex).get(columnIndex);
}
@Override
public void setValueAt(final Object aValue, final int rowIndex, final int columnIndex) {
data.get(rowIndex).set(columnIndex, aValue);
} |
Quand je creer mon tableau, je lui donne une liste d'entete et une list de list de données ou je peux avoir Integer, String, Double...
J'aimerais appliquer un DefaultEditor pour chaque type. (exemple :
Code:
table.setDefaultEditor(Integer.class, new IntegerEditor(0, 100));
)
Or après plusieurs tentatives, pour lui tous mes types sont des Object il n'essai pas d'aller voir plus loin... (meme si je vais un modelTable.setValueAt(new Integer(5), 0, 0));
Par contre si je lui applique un
Code:
table.setDefaultEditor(Object.class, new IntegerEditor(0, 100));
, il n'y a aucun problème mais tous mes types sont traité comme des Integer... :s
Avez-vous une idée svp ?
Dois-je forcement passé par un Object[][] data dans mon model ?
Merci d'avance