Framework Cliente - PanelBase
PanelBase.png

La clase PanelBase es la encargada de mostrar el interfaz con el que interactua el usuario al jugar. Todas las implementaciones de juegos deben tener una clase heredada de PanelBase sobreescribiendo los métodos necesarios para su correcto funcionamiento. Se puede destacar que PanelBase desciende de JLayeredPane por lo que se pueden asignar numeros de capa a los componentes contenidos para permitir solapamiento.

No existen métodos abstractos de obligada implementación pero si ciertos métodos cuya sobreescritura facilita cambiar el modo en que se realiza el redibujado. Estos son:

protected void preDibuja(Graphics2D g,JuegoAbstracto j)
Llamado por el framework antes de dibujar los controles del formulario. Todo lo que se dibuje en este método aparecerá por debajo de los controles propios de SWING

protected void preDibuja(Graphics2D g,JuegoAbstracto j)
Llamado por el framework despues de dibujar los controles del formulario. Todo lo que se dibuje en este método aparecerá por encima de los controles propios de SWING


La clase proporciona ciertos métodos llamables que pueden ser usados por implementadores:

public void autoUnionEventos()
Engancha a todos los componentes contenidos en PanelBase al sistema de eventos de manera que estos puedan ser procesados en cada frame

public void autoUnionEventos(Component c)
Engancha un componente concreto al sistema de eventos de manera que estos puedan ser procesados en cada frame

protected JuegoAbstracto getJuego()
Devuelve el JuegoAbstracto que maneja actualmente el Panel

public void setFondo(IDibujable fondo)
Asigna un objeto de tipo IDibujabe como fondo del panel

public void insertarDibujable(IDibujable dib)
Inserta un objeto de tipo IDibujable en la lista de objetos a dibujar en el panel. Estos objetos se dibujan automaticamente por encima de los controles SWING