martes, 10 de diciembre de 2013

ActionPerformed JTable y cancelar edición JTable

El código siguiente les ayudara a permitir la edición de solo ciertas filas y/o columnas además que permite una propiedad semejante al ActionPerformed que tanto hace falta en el JTable. 
Crearemos un nuevo modelo para nuestro JTable. 
DefaultTableModel nuevo_modelo = new DefaultTableModel() {          
};
Dentro editaremos el método isCellEditable. Mediante if's ustedes pueden guiar al sistema que columnas y/o filas pueden ser editados. 
public boolean isCellEditable(int fila, int columna) {            
if (columna > 2 && columna <4) {
return true;                    
}
return false;
} 
El modelo quedaria de la siguiente forma. 
DefaultTableModel nuevo_modelo = new DefaultTableModel() {
@Override
public boolean isCellEditable(int fila, int columna) {                        
if (columna > 2 && columna <4) {
return true;                    
}
return false;
}           
};
El método isCellEditable, Se comporta como ActionPerformed ya que cada vez que se intenta escribir en el JTable este pregunta si es editable.Lo único que tenemos que hacer es agregar nuestros métodos antes del if. 
DefaultTableModel nuevo_modelo = new DefaultTableModel() {
@Override
public boolean isCellEditable(int fila, int columna) { 
System.out.println("Se esta intentando editar la fila: "+fila+". Y la columna: "+columna);
Metodo(); //Aqui podemos agregar todo lo que necesitemos que realize la tabla al ser editada.
if (columna > 2 && columna <4) {
return true;                    
}
return false;
}           
};
Finalmente solo agregamos el modelo a nuestra tabla y nuestras columnas. Siguiendo el ejemplo el modelo solo permitirá la edición de la columna Cantidad. 
jTable.setModel(nuevo_modelo);
nuevo_modelo.addColumn("Numero");
nuevo_modelo.addColumn("Codigo");
nuevo_modelo.addColumn("Descricion");
nuevo_modelo.addColumn("Cantidad");
nuevo_modelo.addColumn("Almacen");             

1 comentario:

  1. Best Betting Sites UK | Sports Betting 101 - Sporting 100
    Top 9 UK 1xbet app Betting Sites · 1. Bet365 – Excellent football betting options · 2. Betway titanium tubing – Excellent betting options · communitykhabar 3. William Hill – Excellent odds and Which are the 벳 365 best UK betting sites sporting100 for December 2021?What are the best betting sites for December 2021?

    ResponderEliminar