Foro sobre Java SE > Ayuda filas no editable JTable
http://docs.oracle.com/javase/7/docs/api/javax/swing/table/TableModel.html#isCellEditable(int, int)
Pero ese método te devuelve si la celda es o no editable. Yo necesito que una celda especifica que elijo yo sea no editable.
Para eso se usa ese método, que tiene como parámetros una fila y una columna: una celda cualquiera de la tabla.
La clase JTable también tiene el mismo método, por si no deseas implementar el TableModel:
http://docs.oracle.com/javase/7/docs/api/javax/swing/JTable.html#isCellEditable(int, int)
Lo que te dice choces es que puedes sobrescribir el método isCellEditable de JTable creando una clase que extienda JTable y sobrescriba ese método, aunque realmente parece más habitual que implementes TableModel tú mismo y sobrescribas el método ahí, que también lo tiene.
La gran diferencia entre usar el metodo de JTable o el de TableModel viene expresada en el javadoc que indica choces:
Note: The column is specified in the table view's display order, and not in the TableModel's column order. This is an important distinction because as the user rearranges the columns in the table, the column at a given index in the view will change. Meanwhile the user's actions never affect the model's column ordering.
Habria que conocer el caso concreto para saber que aplica mejor.
Un saludo
jpd7 dice que quiere bloquear dos filas, así que supuestamente debería dar igual lo de las columnas, pero es una diferencia importante que no había visto, gracias por resaltarlo. :-)
Necesito ingresar en un jtable usuarios simultaneamente de dos en dos, los primeros 2 si me los agrega correctamente pero cuando agrego dos mas me elimina el segundo usuario que agregue, y si agredo dos mas me elimina el cuarto usuario y asi solo me va quedando usuario por medio agregado, este es mi codigo por si alguien me pudiera ayudar en que estoy fallando.. gracias
public void llenarDatosTabla(){
int i,j;
int numJugadores = gJugador.getNumJugadores();
for(i = 0; i < numJugadores ; i++){
this.tablaJugadores1.setValueAt(gJugador.getJugadores()[i].getId(), i, 0);
this.tablaJugadores1.setValueAt(gJugador.getJugadores()[i].getNombre(), i, 1);
this.tablaJugadores1.setValueAt(gJugador.getJugadores()[i].getApellido(), i, 2);
this.tablaJugadores1.setValueAt(gJugador.getJugadores()[i].getUsuario(), i, 3);
this.tablaJugadores1.setValueAt(gJugador.getJugadores()[i].getId2() ,i+1, 0);
this.tablaJugadores1.setValueAt(gJugador.getJugadores()[i].getNombre2(), i+1, 1);
this.tablaJugadores1.setValueAt(gJugador.getJugadores()[i].getApellido2(), i+1, 2);
this.tablaJugadores1.setValueAt(gJugador.getJugadores()[i].getUsuario2(), i+1, 3);
}
}
Buenas tardes
Tengo un JTable y en cierta ocasión necesito que 2 filas no se puedan editar. ¿Es posible?