Alguien sabe como poner los valores a 0 de una tabla que además es observadora? es que mi tabla va actualizando los datos a medida que se vayan cambiando cosas en el panel,pero en el momento que pongo el panel vacío,quiero "resetear" los campos(los valores,no las etiquetas) y no lo consigo.
He creado un método resetearTabla que pone los valores a 0 y los llamo en el momento que cierro el panel pero no se me actualiza.Por qué puede ser?Os pongo mi tabla
public class TablaModelo1 extends JTable implements Observer
{
String nombre;
int cont=0;
Pizarra pizarra;
int puntos;
Ficheros ficheros=new Ficheros();
public TablaModelo1(ModeloPizarra modelo)
{
File fichero=ficheros.getTexto();
System.out.println(fichero.exists());
System.out.println(fichero.getName());
System.out.println(fichero.getPath());
if(fichero.getName().isEmpty())
{
nombre="Modelo "+ cont;
cont++;
}
else nombre=fichero.getName();
String[][] data2={{"Nombre",nombre},{"Tipo",".dat"},{"Nº Centros","0"},{"Nº Centros seleccionados","0"},
{"Nº Polígonos","0"},{"Nº Polígonos seleccionados","0"},{"Nº Polígonos con centro","0"},{"Nº Polígonos sin centro",""}};
String[] columnNames2={"Detalles","Descripción"};
DefaultTableModel model2 =new DefaultTableModel(data2, columnNames2);
super.setModel(model2);
modelo.addObserver(this);
this.update(modelo, null);
}
@Override
public void update(Observable o, Object arg)
{
((DefaultTableModel)this.getModel()).setValueAt((( ModeloPizarra)o).
getTipo(),1,1);
((DefaultTableModel)this.getModel()).setValueAt((( ModeloPizarra)o).
getListaCentros().size(),2,1);
((DefaultTableModel)this.getModel()).setValueAt((( ModeloPizarra)o).
getNumSelec(),3,1);
//aquí ponemos el numero de centros seleccionados (recorrido sobre listaCentros, contando getSelec=true)
((DefaultTableModel)this.getModel()).setValueAt((( ModeloPizarra)o).
getListaPoligonos().size(),4,1);
((DefaultTableModel)this.getModel()).setValueAt((( ModeloPizarra)o).
getNumSeleccionados(),5,1);
}
public void resetearTabla()
{
((DefaultTableModel)this.getModel()).setValueAt("" ,1,1);
((DefaultTableModel)this.getModel()).setValueAt(0, 1,1);
((DefaultTableModel)this.getModel()).setValueAt(0, 2,1);
((DefaultTableModel)this.getModel()).setValueAt(0, 3,1);
((DefaultTableModel)this.getModel()).setValueAt(0, 4,1);
((DefaultTableModel)this.getModel()).setValueAt(0, 5,1);
}
Cualquier ayuda me valdrá.Gracias