Viruz Blog
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

Wizard en NetBeans Platform

Ir abajo

Wizard en NetBeans Platform Empty Wizard en NetBeans Platform

Mensaje  Admin (Viruz) Dom Dic 02, 2012 12:31 pm

Dejaremos un poco de lado la paleta retomaremos sobre otras partes con las que cuenta la plataforma de NetBeans. Toca el turno de los Wizard o Asistentes que a lo largo de la creación de TopComponents, FileTypes, paquetes o clases de java nos hemos topado con ellos y es que en cada aplicación son muy requeridos para la elaboración de nuevos proyectos.

Hoy aprenderemos como crear nuestro primer Wizard y siguiendo paso a paso hasta poder asociarlo a la ventana de nodos o proyectos.

Pasos:

1. Crearemos un nuevo paquete en nuestro módulo llamado asistente, daremos clic derecho sobre él y escogemos la opción New > Other. En el asistente de nuevo archivo nos aseguramos de tener en Categorías "Module Development" y en tipo de archivo Wizard.

[Tienes que estar registrado y conectado para ver esa imagen]
2. Seguido tendremos la ventana de Tipo de Asistente lo cual se tienen 3 opciones "Registration Type", "Wizard Step Sequence" y "Number of Wizard Panels". Veremos a continuación una explicación de la función de estas opciones:

  • Registration Type: Determina en que lugar de la aplicación el usuario podrá acceder al asistente. Si se selecciona "Custom", el asistente creará una nueva clase de acción que se puede utilizar para abrir e iniciar su asistente. Si selecciona "New File", el asistente registra el wizard en el módulo del archivo layer.xml.
  • Wizard Step Sequence: Determina si el asistente será lineal o si el usuario será capaz de saltarse los pasos del asistente, en función de las elecciones previas. Los asistentes lineales son de tipo Static, mientras que los asistentes con los pasos saltables requieren una clase de iterador personalizado que se crea si se selecciona Dynamic.
  • Number of Wizard Panels: Determina el número de paneles del asistente. Para cada paso del asistente que se requiera se crearan dos clases java (vista y controlador).

Tendríamos en total 3 opciones las cuales serían las siguientes combinaciones y las iremos viendo conforme a la lista de a continuación:

  1. Custom -Static.
  2. Custom - Dynamic.
  3. New File.

3. En la opción de Custom - Static otorgamos en número de paneles 2, que son las que se ocuparán para el ejercicio.

Nota: El número de paneles depende del las necesidades del usuario.

[Tienes que estar registrado y conectado para ver esa imagen]

4. Por último nos indica poner el nombre de las clases, la asignación al proyecto y el paquete donde estarán.

[Tienes que estar registrado y conectado para ver esa imagen]
Básicamente se crean 3 archivos de tipo java pero este incrementa dependiendo de los números de paneles que se creen para el wizard.

  • NombreVisualPanel.java: Es aquí donde podrás integrar componentes a tu asistente ya sea desde un botón hasta una imagen.
  • NombreWizardAction.java: Donde se registran todas las acciones que se realizarán con el asistente aparte de poder integrarlas al archivo layer.xml.
  • NombreWizardPanel.java: Encargada de agregar, modificar, borrar los eventos, componentes y propiedades que se encuentren en el asistente.
Nota: Solo para versiones de 6.5 NetBeans IDE, en la clase EstaticoWizardAction.java, de el ejercicio tenemos el siguiente código:


public final class EstaticoWizardAction implements ActionListener {

private WizardDescriptor.Panel[] panels;

public @Override
void actionPerformed(ActionEvent e) {
WizardDescriptor wizardDescriptor = new WizardDescriptor(getPanels());
// {0} will be replaced by WizardDesriptor.Panel.getComponent().getName()
wizardDescriptor.setTitleFormat(new MessageFormat("{0}"));
wizardDescriptor.setTitle("Your wizard dialog title here");
Dialog dialog = DialogDisplayer.getDefault().createDialog(wizardDescriptor);
dialog.setVisible(true);
dialog.toFront();
boolean cancelled = wizardDescriptor.getValue() != WizardDescriptor.FINISH_OPTION;
if (!cancelled) {
// do something
}
}

/**
* Initialize panels representing individual wizard's steps and sets
* various properties for them influencing wizard appearance.
*/
private WizardDescriptor.Panel[] getPanels() {
if (panels == null) {
panels = new WizardDescriptor.Panel[] {
new EstaticoWizardPanel1(),
new EstaticoWizardPanel2()
};
String[] steps = new String[panels.length];
for (int i = 0; i < panels.length; i++) {
Component c = panels[i].getComponent();
// Default step name to component name of panel. Mainly useful
// for getting the name of the target chooser to appear in the
// list of steps.
steps[i] = c.getName();
if (c instanceof JComponent) { // assume Swing components
JComponent jc = (JComponent) c;
// Sets step number of a component
// TODO if using org.openide.dialogs >= 7.8, can use WizardDescriptor.PROP_*:
jc.putClientProperty("WizardPanel_contentSelectedIndex", new Integer(i));
// Sets steps names for a panel
jc.putClientProperty("WizardPanel_contentData", steps);
// Turn on subtitle creation on each step
jc.putClientProperty("WizardPanel_autoWizardStyle", Boolean.TRUE);
// Show steps on the left side with the image on the background
jc.putClientProperty("WizardPanel_contentDisplayed", Boolean.TRUE);
// Turn on numbering of all steps
jc.putClientProperty("WizardPanel_contentNumbered", Boolean.TRUE);
}
}
}
return panels;
}
}


Estamos usando el mismo código que se ha generado, excepto que estamos implementando el oyente ActionListener en lugar de CallableSystemAction. Esto se hace porque ActionListener es un estándar de clase JDK. Desde la plataforma NetBeans 6.5 es posible utilizar el estándar de la clase JDK, que es más conveniente y requiere menos código.

Autor: Viruz study
Enlace: Asistentes en NetBeans Platform
Admin (Viruz)
Admin (Viruz)
Admin

Mensajes : 148
Fecha de inscripción : 23/09/2012
Edad : 35
Localización : Desktop

https://viruz.foroactivo.mx

Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.