bjr si vous pourriez m aider, voici mon prob j ai un jtable ds lequel j ai deux colonnes ds lesquelles il y a des jcheckbox, le jtable se charge en fonction d une zone de recherche, le prob c qd je coche un checkbox et j effectue une nouvelle recherche (en sachant qu a chaque nouvelle recherche je cree un nouveau checkbox) le check box qui occupe la ligne de l ancien sera coché tt se passe juste au niveau de l interface pcq qd j affiche l etat du check je vois qu il est pas selectionné, je pense que c du au celleditor!!! j ai placé un message ds le getTableCell dont voici le code:
public class JComponentCellEditor implements TableCellEditor{
/* (non-Javadoc)
* @see javax.swing.table.TableCellEditor#getTableCellEditorComponent(javax.swing.JTable, java.lang.Object, boolean, int, int)
*/
private Vector isAllowed;
private Vector isLocked;
/**
*
*/
public JComponentCellEditor() {
super();
// TODO Auto-generated constructor stub
isAllowed=new Vector();
isLocked=new Vector();
}
public Component getTableCellEditorComponent(JTable arg0, Object arg1, boolean arg2, int arg3, int arg4) {
// TODO Auto-generated method stub
if(arg4==1){
//System.out.println(((JCheckBox)isAllowed.get(arg3)).getName());
return (JPanel)isAllowed.get(arg3);
}
else if(arg4==2){
//System.out.println(((JCheckBox)isLocked.get(arg3)).getName());
return (JPanel)isLocked.get(arg3);
}
else return null;
}
/* (non-Javadoc)
* @see javax.swing.CellEditor#getCellEditorValue()
*/
public Object getCellEditorValue() {
// TODO Auto-generated method stub
return null;
}
/* (non-Javadoc)
* @see javax.swing.CellEditor#isCellEditable(java.util.EventObject)
*/
public boolean isCellEditable(EventObject arg0) {
// TODO Auto-generated method stub
return true;
}
/* (non-Javadoc)
* @see javax.swing.CellEditor#shouldSelectCell(java.util.EventObject)
*/
public boolean shouldSelectCell(EventObject arg0) {
// TODO Auto-generated method stub
return true;
}
/* (non-Javadoc)
* @see javax.swing.CellEditor#stopCellEditing()
*/
public boolean stopCellEditing() {
// TODO Auto-generated method stub
return true;
}
/* (non-Javadoc)
* @see javax.swing.CellEditor#cancelCellEditing()
*/
public void cancelCellEditing() {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see javax.swing.CellEditor#addCellEditorListener(javax.swing.event.CellEditorListener)
*/
public void addCellEditorListener(CellEditorListener arg0) {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see javax.swing.CellEditor#removeCellEditorListener(javax.swing.event.CellEditorListener)
*/
public void removeCellEditorListener(CellEditorListener arg0) {
// TODO Auto-generated method stub
}
public void addIsAllowed(JPanel check){
isAllowed.add(check);
}
public void addIsLocked(JPanel check){
isLocked.add(check);
}
public void clear(){
//for (int i = 0; i < isAllowed.size(); i++) {
//isAllowed.remove(i);
//isLocked.remove(i);
//}
isAllowed.clear();
isLocked.clear();
}
public int size(){
return isAllowed.size();
}
public void setAllowed(int i,boolean value){
((JCheckBox)isAllowed.get(i)).setSelected(value);
}
public void setLocked(int i,boolean value){
((JCheckBox)isLocked.get(i)).setSelected(value);
}
}
et je remarque qu une cell s edit une seul fois
je vous remercie d avance pr votre aide.