Hola a todos, me gustaría preguntar lo siguiente: cómo puedo utilizar el patrón observer en un jpanel???
Verán intento que mis controladores que son observable por medio de la herencia, notifiquen a mi jpanel que implementa un observer, lo comenté la parte del observer porque no me anduvo:
Código Java:
Ver originalpackage app.contr.util;
import java.sql.SQLException;
//import java.util.Observable;
import up.max.proyectpages.structs.PagesList;
public abstract class Controlador<T> //extends Observable
{
public abstract int maxId();
}
Código Java:
Ver originalpackage app.contr.man;
import app.contr.clases.Rol;
import app.contr.util.Controlador;
import java.sql.SQLException;
import up.max.proyectpages.structs.PagesList;
public class ContrRoles extends Controlador<Rol>
{
private static ContrRoles gest = null;
private ContrRoles(){ }
public static ContrRoles getInstance(){
if(gest == null){
gest = new ContrRoles();
}
return gest;
}
@Override
obj.save();
//this.setChanged();
//this.notifyObservers();
}
@Override
obj.del();
//this.setChanged();
//this.notifyObservers();
}
@Override
return new Rol().find(criterios);
}
@Override
return (Rol)new Rol().findById(id);
}
@Override
public int maxId() {
return new Rol().maxId() + 1;
}
@Override
return (Rol)new Rol().findByX(x);
}
}
Cuando quiero que me actualice el jpanel que tiene un jtable de los roles, no me lo muestra:
Código Java:
Ver originalpublic class Gestiones
extends javax.
swing.
JPanel //implements Observer {
TablaGenerica mr = new TablaGenerica(new ModeloRol());
public Gestiones
(JFrame xventana
) { initComponents();
this.padre = xventana;
@Override
// quiero evitar depender del evento activated del formulario
mr.cargarTablaGenerica(table_rol);
mr.getModelo().updateTable(null);
}
});
}
/*
@Override
public void update(Observable o, Object arg) {
mr.cargarTablaGenerica(table_rol);
mr.getModelo().updateTable(null);
}*/
Espero sus respuestas y saludos.