Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Ayuda filas no editable JTable

Buenas tardes
Tengo un JTable y en cierta ocasión necesito que 2 filas no se puedan editar. ¿Es posible?

febrero 18, 2014 | Unregistered Commenterjpd7

http://docs.oracle.com/javase/7/docs/api/javax/swing/table/TableModel.html#isCellEditable(int, int)

febrero 18, 2014 | Registered Commenterchoces

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.

febrero 18, 2014 | Unregistered Commenterjpd7

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)

febrero 19, 2014 | Registered Commenterchoces

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.

febrero 23, 2014 | Registered Commenterrickiees

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

febrero 24, 2014 | Unregistered CommenterUnoPorAhi

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. :-)

febrero 24, 2014 | Registered Commenterrickiees

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);


}
}

octubre 21, 2014 | Unregistered CommenterAbner