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

Wizard Dinámico en NetBeans Platform parte 1

Ir abajo

Wizard Dinámico en NetBeans Platform parte 1 Empty Wizard Dinámico en NetBeans Platform parte 1

Mensaje  Admin (Viruz) Mar Dic 04, 2012 6:34 am

En el primer post se mencionaron 3 tipos de combinaciones u opciones que se pueden realizar al crear un asistente, en todo este tiempo se ha trabajado con las opciones de Custom-Static hasta ahora se conoce que esta opción trabaja de manera secuencial es decir que va paso por paso dependiendo de los paneles que el usuario haya otorgado.

Cambiaremos la mecánica de lo que se ha estado realizando y veremos como funciona un asistente en modo dinámico.

Lo que se necesita conocer
  • Acciones en NBP
  • Wizard Estático en NBP

Pasos:

1. Este paso es opcional ya que puedes trabajar en el mismo paquete del asistente estático o crear otro paquete como lo haré yo para no mezclar las clases.
org.prueba.modulo.asistente.dinamico
Realizamos la misma operación para crear un asistente a diferencia de que en las opciones se escogerán Custom - Dynamic y el número de paneles pondremos 3.
[Tienes que estar registrado y conectado para ver esa imagen]
En la siguiente ventana en el campo Class Name Prefix pondremos dinámico y finalizamos el asistente.

2. Al igual que en el asistente de tipo estático se crearan las formas de tipo visual y un panel de control, pero a diferencia de este no tendremos la clase NombreWizardAction si no otra que la sustituye por nombre NombreWizardIterator.

Antes de seguir avanzando haremos algo óptimo y nuevo que es cambiar el nombre de los paneles y es que al crear siempre tendremos el mismo nombre de los paneles donde solo se diferencian por el número al final.

DinamicoWizardPanel1.java
DinamicoWizardPanel2.java.


3. Esto lo haremos muy rápido solo damos clic derecho en el archivo .java que queramos modificar y en el menú escogemos Refactor - Rename.
[Tienes que estar registrado y conectado para ver esa imagen]
Ahora cambiaremos el nombre (esto depende de ustedes y así diferenciamos los paneles y los componentes que pondrán dentro de él).
[Tienes que estar registrado y conectado para ver esa imagen]
Recomendación: Si cambias el nombre del panel visual, también realizarlo en el panel de control con el mismo nombre.

Una vez creado el asistente dinámico vamos directo por la primera acción a realizar. Cuando creamos el asistente de manera estática bastaba con poner las ID de las acciones, el registro y las referencias, dentro de la clase de WizardAction.

Aquí lo tendremos que hacer mediante el asistente de crear una acción para poder iniciarlo dentro de nuestra aplicación.

Pasos:

1. Creamos una acción y en tipo de acción escogemos la opción de Always Enabled.

2. En la siguiente ventana de registro de la GUI las opciones que serán otorgadas son las siguientes:
  • Categoría: File.
  • Menú: File.
  • Posición: Estatico Wizard - HERE - New Project...
Poner el nombre de la clase que tendrá la acción, el display e icono.

3. Abrimos la clase creada y deberá quedar de la siguiente manera:

import java.awt.Dialog;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.MessageFormat;
import org.openide.DialogDisplayer;
import org.openide.WizardDescriptor;
import org.openide.awt.ActionRegistration;
import org.openide.awt.ActionReference;
import org.openide.awt.ActionReferences;
import org.openide.awt.ActionID;
import org.openide.util.NbBundle.Messages;

@ActionID(category = "File",
id = "org.prueba.modulo.asistente.dinamico.WizardDinamico")
@ActionRegistration(iconBase = "org/prueba/modulo/asistente/dinamico/application_view_gallery.png",
displayName = "#CTL_WizardDinamico")
@ActionReferences( {
@ActionReference(path = "Menu/File", position = 55)
})
@Messages("CTL_WizardDinamico=Asistente Dinámico")
public final class WizardDinamico implements ActionListener {

public void actionPerformed(ActionEvent e) {
DinamicoWizardIterator iterator = new DinamicoWizardIterator();
WizardDescriptor wizardDescriptor = new WizardDescriptor(iterator);
iterator.initialize(wizardDescriptor);

// {0} será reemplazado por WizardDescriptor.Panel.getComponent (). getName ()
// {1} será reemplazado por WizardDescriptor.Iterator.name ()
wizardDescriptor.setTitleFormat(new MessageFormat("{0} ({1})"));
wizardDescriptor.setTitle("Viruz Blog Dynamic Wizard");

Dialog dialog = DialogDisplayer.getDefault().createDialog(wizardDescriptor);
dialog.setVisible(true);
dialog.toFront();

boolean cancelled = wizardDescriptor.getValue() != WizardDescriptor.FINISH_OPTION;
if (!cancelled) {
// do something
}
}
}

4. Por último en la clase DinamicoWizardIterator creamos el método initialize() y declaramos una variable de tipo WizardDescriptor.

Código:
 private WizardDescriptor wizardDesc;

public void initialize(WizardDescriptor wizardDescriptor) {
    wizardDesc = wizardDescriptor;
}
Ya tenemos nuestro asistente dinámico en la aplicación.

[Tienes que estar registrado y conectado para ver esa imagen]
Autor: Viruz study
Enlace: Wizard Dinámico en NBP (Parte 1)
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.