Esta clase será la encargada de desplegar la visualización correspondiente al paso de la tarea en que se encuentre el plugin.
La información sobre el paso de la tarea donde se encuentra el plugin será almacenada en una variable de la clase llamada panelNumber. Esta variable podrá ser modificada mediante los métodos next() y back(), dependiendo de si se quiere avanzar o retroceder un paso.
El código completo de esta clase lo puede encontrar en: “Archivo WizardManager.java ”
La variable panelNumber será inicializada en 0, cuando se cree por primera vez el objeto WizardManager. Los metodos next() y back() se encargaran de incrementar o decrementar esta variable y luego mostrar el panel correspondiente. La implementación de estos métodos es la siguiente:
public void back() { panelNumber--; showPanel(); } public void next() { panelNumber++; showPanel(); }
El método showPanel() es el encargado de mostrar el panel correspondiente al paso de la tarea en que se encuentra el plugin. Este esta implementado así:
public void showPanel() { JPanel content=null; if(panelNumber==1) content = (JPanel) new HelloWorldPanel1(); if(panelNumber==2) content = (JPanel) new HelloWorldPanel2(); if(panelNumber==3) content = (JPanel) new HelloWorldPanel3(); setContentPane(content); this.pack(); this.repaint(); this.show(); }
Buscando obtener una mayor flexibilidad, facilidad de uso y claridad al hacer los llamados a los métodos de la clase WizardManager desde otras clases, se le aplicó a esta clase un patrón de construcción de software conocido como Singleton, que permite hacer llamados a los métodos de esta clase desde otras clases, como los paneles, sin que estas otras clases deban tener como atributo el objeto WizardManager. Para ello basta usar una línea como la siguiente
WizardManager.getInstance().metodo();