Foro sobre Java SE > Problema para inhabilitar un celda de un JTable
Las implementaciones de los modelos de JTable tienen un método isCellEditable que debes usar, o sobreescribir (según el modelo) para obtener lo que quieres.
![Registered Commenter Registered Commenter](/universal/images/transparent.png)
Gracias por contestar.
Me he ido al método y por defecto tiene:
public boolean isCellEditable(int rowIndex, int columnIndex) {
return canEdit [columnIndex];
}
donde el aray canEdit me inhabilita la primera columna, y el esto las tengo editables, pero no consigo dar con el código a insertar en el método isCellEditable, para que realice lo que expongo. Estoy empezando en Java y hay cosas que las voy asimilando poco a poco.
Gracias.
![Registered Commenter Registered Commenter](/universal/images/transparent.png)
Si quieres que una columna determinada no sea editable, debes modificar ese array canEdit, para la columna en cuestión.
![Registered Commenter Registered Commenter](/universal/images/transparent.png)
Pero si modifico ese array para la columna determinada, se hace editable o no toda la columna, no? Lo que pretendo conseguir es en una determinada columna, tendré celdas editables otras no, en función de otra columna de la misma tabla, en función del valor que tome esta última.
Gracias
![Unregistered Commenter Unregistered Commenter](/universal/images/transparent.png)
Ese método tiene como parámetros un índice de fila y otro de columna.
Con ellos puedes decidir si una celda determinada es editable o no.
De la manera como usas ese array, me temo que con un array unidimensional no podrás resolverlo. Puedes probar con un array de dos dimensiones, para controlar la edición de cualquier celda de la tabla.
Si solamente quieres controlar la de dos columnas concretas, puedes usar un if en ese método, de tal manera que uses un array para cada columna editable, y con el if decides cuál acepta edición y cual no. Basta con actualizar ese array en función de la condición, y obtienes el resultado para una celda concreta de esa columna.
![Registered Commenter Registered Commenter](/universal/images/transparent.png)
Buenas a todos, soy nuevo en esto. Muchísimas gracias a tod@s de antemano.
Estoy realizando una aplicación en la que tengo un JTable de 5x5. En una determinada fila, tengo tres valores posibles a elegir de un JComboBox, y en función del valor que tome, necesito que una celda de otra columna se inhabilite. Llevo varios días intentándolo y no doy con la tecla.
Gracias por todo.