lunes, 13 de agosto de 2012

Crea ventanas de ayuda modales con JavaHelp en java





Apeticiónde un amigo de FacebookArnaldo Javier,que mepidiósiexistíauna forma de crear ventanas modales conJavaHelp(es una expansión de Java que facilita la programación de las ventanas de ayuda en las aplicaciones java), para los desarrolladores que utilizan Netbeans no tienes que usar ningunalibreríapara llamar a javahelp ya que el mismo netbeans ya la tiene,pero para las personas que utilizamos Eclipse tenemos que importar laslibreríaslas cuales yaestánen el proyecto de descarga.

¿Pero como hacemos modal o dialog a JavaHelp?
por defecto javahelp aparece en una ventana normal un JFrame ,pero si queremos hacerlo modal ya que las ventas modales tienes diferentes atributos y sirven como para hacer ventanas de ayuda por defecto no lo podemos hacerasíque tenemos que construir una Clase JDialog donde añadiremos las clases que vamos a utilizar para crear el JavaHelp como por ejemplo:

 DefaultHelpBroker help = new DefaultHelpBroker();

esta clase por defecto nos permite construir nuestro javahelp y obtener los atributos del Dialog,pero ay un problema una vez hecho esto y ejecutamos o llamamos a la ventana de ayuda nos llamara dos ventas modales el JavaHelp y el Dialog de la clase que creamos,no podemos desaparecer el segundo Dialog por que al hacer esto nuestra ventana de ayudatambiéndesaparece ,entonces para esto debemos de ubicar el dialog en otradireccióny añadir un evento de cierre a nuestro javahelp para cuando se pulse cerrar estas dos ventanas se cierren.

DefaultHelpBroker help = new DefaultHelpBroker();

try {

File fichero = new File("help/help_set.hs");
URL hsURL = fichero.toURI().toURL();
help.setHelpSet(new HelpSet(getClass().getClassLoader(), hsURL));
help.initPresentation();
help.setActivationWindow(this);
help.setDisplayed(true);
//-----------------CENTRO AL JAVAHELP-------------------------/
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Point p = new Point((int)screenSize.getWidth()/4,(int)screenSize.getHeight()/4);
help.setLocation(p);
help.getWindowPresentation().getHelpWindow().addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent e) {
//-----------cierro el dialog por defecto y listo
dispose();
}
});

}
catch (Exception e)
{
e.printStackTrace();
}

de esta manera creo mi javahelp y llamo a los ficheros html,y añado el evento de cierre(windosclosing) para cerrar el dialog.si quieren saber mas de JavaHelp eldíade mañanasubirétutoriales sobre este tema.

DESCARGAR


´





1 comentario: