Foros del Web » Programación para mayores de 30 ;) » Java »

checkbox y JTable

Estas en el tema de checkbox y JTable en el foro de Java en Foros del Web. Hola no se que pasa con mi codigo que no me deja editar el check box de mi tabla, no se que esta mal ojala ...
  #1 (permalink)  
Antiguo 03/06/2009, 23:02
 
Fecha de Ingreso: noviembre-2006
Mensajes: 27
Antigüedad: 17 años, 5 meses
Puntos: 0
checkbox y JTable

Hola no se que pasa con mi codigo que no me deja editar el check box de mi tabla, no se que esta mal ojala laguien me pueda decir que esta mal

public class SimpleTableModel extends AbstractTableModel {



ArrayList datos = new ArrayList();
Object [] columnas = {"Seleccionar","Cod","Nombre Curso", "Ciclo", "Seccion"};
Class[] types = new Class [] {
java.lang.Boolean.class, java.lang.String.class, java.lang.String.class,
java.lang.String.class, java.lang.String.class};

/** Creates a new instance of SimpleTableModel */
public SimpleTableModel() {

Object [] fila = new Object[5];
fila[0] = Boolean.valueOf(false); // intente tb con new Boolean(false);
fila[1] = "";
fila[2] = "";
fila[3] = "";
fila[4] = "";

//El array list contendra un array de Object[] en cada fila
datos.add(fila);

}



/**
* Devuelve el nombre de la columna
* param col Indice de columna
* return Nombre de la columna
*/
public String getColumnName(int col) {
return columnas[col].toString();
}
/**
* Devuelve el numero de filas
* return numero de filas
*/
public int getRowCount() { return datos.size(); }

/**
* Devuelve el numero de columnas
* return numero de columnas
*/
public int getColumnCount() { return columnas.length; }

/**
* Devuelve el valor del objeto en la fila y columna
* param row fila a buscar
* param col columna a buscar
* return valor del objeto
*/
public Object getValueAt(int row, int col) {
Object[] fila = (Object[]) datos.get(row);
return fila[col];

}
/**
* Devuelve la clase que corresponde al tipo de columna
* param columnIndex columna
* return Clase tipo
*/
public Class getColumnClass(int columnIndex) {

return types[columnIndex];
}

/**
* Determina si una fila y columna ha de ser editable
* param row fila de la tabla
* param col columna de la tabla
* return valor booleano indicando si es o no editable
*/
public boolean isCellEditable(int row, int col)
{

return true;
}

/**
* Actualiza un objeto de una fila y columna
* param value Objeto a actualizar
* param row fila de la tabla
* param col columna de la tabla
*/
public void setValueAt(Object[] value, int row, int col) {
Object [] fila = (Object []) datos.get(row);
fila[col] = value;
fireTableCellUpdated(row, col);
}

/**
* Añade una fila al modelo
* param fila fila a añadir
*/
public void addRow(Object fila) {
datos.add(fila);
fireTableDataChanged();

}

/**
* Elimina una fila del modelo
* param fila indice de la fila a eliminar
*/
public void removeRow(int fila) {
datos.remove(fila);
fireTableDataChanged();
}

}
  #2 (permalink)  
Antiguo 04/06/2009, 10:50
 
Fecha de Ingreso: abril-2009
Mensajes: 82
Antigüedad: 15 años
Puntos: 2
Respuesta: checkbox y JTable

Buenas:

Sinceramente, no veo que estes introduciendo ningún JCheckBox por ningún lado... ¿podrías mostrarnos el entorno donde inicializas y muestras esta tabla?

Saludos.
  #3 (permalink)  
Antiguo 04/06/2009, 11:20
 
Fecha de Ingreso: noviembre-2006
Mensajes: 27
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: checkbox y JTable

Hola squart gracias por responder, bueno no se presenta el checkbox por que segun lo que busque que en el abstracttablemodel cuando ponias un tipo boolean en una columna esta automaticamente te ponia el checkbox; si sale el check pero lo que cuando hago click en el check paresiese que no fuera editable porque no puede chequearlo no me permite nada;per cuando el valor inicial esta en true sale con el check marcado; pero cuando esta en falso y hago click para chequearlo no se chequea es como si esa columna no se pudiera editar

Object [] fila = new Object[5];
fila[0] = Boolean.valueOf(True); // cuando carga la pagina aparece chequeado
fila[1] = "";
fila[2] = "";
fila[3] = "";
fila[4] = "";

no se que estara mal
  #4 (permalink)  
Antiguo 04/06/2009, 11:21
 
Fecha de Ingreso: noviembre-2006
Mensajes: 27
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: checkbox y JTable

O nose si hay otra forma de poner chek en una columna? si l ahya porfavor podrias pasarme un codigo para guiarme porfa

saludos
  #5 (permalink)  
Antiguo 04/06/2009, 12:30
Avatar de FiruzzZ  
Fecha de Ingreso: diciembre-2007
Ubicación: en casa
Mensajes: 470
Antigüedad: 16 años, 4 meses
Puntos: 41
Respuesta: checkbox y JTable

Tiene razón el amigaso Sqqquarrrrr... no hay ni un solo CheckBox o CheckBoxGroup declarado
Estás queriendo meter un boolean dentro de una fila..
Declarar un boolean no es declarar un checkBox()
un checkBox() te retorna un VALOR BOLEANO, si está tiladad (seleccionado, elejido etc) true y sino false.
Boolean superCheckBox().getState()

Wakatta?
  #6 (permalink)  
Antiguo 04/06/2009, 13:35
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: checkbox y JTable

Hola:

Teóricamente, si getColumnClass() devuelve Boolean, el JTable automáticamente pintará un JCheckBox. Si el método isCellEditable() devuelve true, esa celda será editable y el JCheckBox debería poderse tocar. No veo ningún fallo en el código, asi que lo único que se me ocurre ss una tontería ... ¿has probado a hacer doble click?. Una celda por defecto se edita al hacer doble click sobre ella.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #7 (permalink)  
Antiguo 04/06/2009, 23:37
 
Fecha de Ingreso: noviembre-2006
Mensajes: 27
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: checkbox y JTable

Hola gracias por sus respuestas y por la pregunta de Chuidiang, y si las otras celdas son editables, porque cuando hago doble click en las otras celdas puedo agregar texto y todo pero no con la columna del check es bien raro por q parese que solo esa columna no es editable, estube viendo unos ejemplos de tablas y usan un matriz Object[][] para llenar los datos y yo uso un ArrayList tiene algo que ver? y en todo caso como se agrega un checkbox en un AbstractTableModel como dice FiruzzZ

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:26.