Problème Sélection Cellules JTable
Bonjour,
Alors voici mon problème :
Mon interface dispose entre autres d'une JTable et d'un JButton. Lorsque je clique sur mon bouton je modifie la couleur ( par exemple rouge ) d'une cellule de la ligne 8,colonne 1 comme je le souhaite.
Par contre si après je clique sur une autre cellule de la même colonne, toute les cellules de cette colonne prennent la couleur rouge.
Le code est le suivant :
Classe appelante :
Code:
table.getColumnModel().getColumn(1).setCellRenderer(new ColorCellRenderer(table,getModel(),essai,boxcouleur.getSelectedItem().toString(),Integer.parseInt(boxposition.getSelectedItem().toString()),8));
Classe ColorCellRenderer :
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
| public ColorCellRenderer(JTable table,ModelTable model,int essai, String couleur, int column, int row){
if(model != null){ this.model = model; }
this.row = row; this.column = column; this.essai = essai;
color = getcouleur(couleur);
getTableCellRendererComponent(table,null,false,false,this.row,this.column);
}
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
setBackground(null);
super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
if ((color!=null) && model.isCellEditable(this.row, this.column)){
setBackground(color);
model.fireTableCellUpdated(this.row,this.column);
}else{
//TODO
}
return this;
} |
classe ModelTable :
Code:
1 2 3 4 5 6 7 8 9
| @Override
public boolean isCellEditable(int rowIndex, int columnIndex){
if (rowIndex==8){
return true;
}else{
return false;
}
} |
Quelle pourrait-être la solution ??
Je pensais à travailler sur la méthode isCellEditable ou à rendre les clics de souris sur la JTable sans effet.