Interfaz gráfica Java Netbeans

Interfaz gráfica Java Netbeans

Interfaz gráfica Java Netbeans. ¿Qué vais a poder programar?

  • Fichero de Bienvenida
  • Directorio de Ayuda de la Aplicación
  • Ficheros html
  • Fichero mapa de JavaHelp
  • Fichero de la tabla contenidos de Javahelp
  • El Fichero indice creado
  • Fichero principal de configuración de JavaHelp
  • Como manejar JavaHelp

 

Interfaz gráfica Java Netbeans

Interfaz gráfica Java Netbeans

En este Apartado os vamos a explicar lo fácil que es insertar una Ayuda en tu Aplicación de Diseño de Interfaces.

En este Aplicación TopGest vamos a utilizar la ayuda de JavaHelp en la que cuando se cargue nuestra Aplicación presionaremos en botón F1 y nos saldrá una ventana de Ayuda como esta.

Lo primero que vamos hacer sera descargarnos JavaHelp http://www.oracle.com/technetwork/java/index.html y instalarlo en nuestra carpeta del Proyecto una vez instalado nos creara los archivos jar que son necesarios para nuestra aplicación junto con herramientas para la opción de ayuda.

 

 

 

 

Interfaz gráfica Java Netbeans

Interfaz gráfica Java Netbeans

Todos los archivos tienen que estar guardados en la misma carpeta nosotros la hemos llamado help en

la que meteremos y nos crearemos todos los archivos html , xml , hs ,

jhm.

Los ficheros html que estáis viendo nos van a cargan las diferentes opciones senos mostraran en pantalla completa nosotros hemos echo varios html que han sido los necesarios para la aplicación.

Fichero mapa de JavaHelp

En este fichero nos vamos a crear el mapa de JavaHelp.

Este fichero es una archivo XML en el que se le da una clave a cada uno de los ficheros html que hemos creado así puede cargarlos diferentemente.

El código sera este:

<?xml versión=’1.0′ encoding=’ISO-8859-1′?>

<!DOCTYPE map

PUBLIC «-//Sun Microsystems Inc.//DTD JavaHelp Map Versión 2.0//EN»

«http://java.sun.com/productos/javahelp/map_2_0.dtd»>

<map versión=»1.0″>

<mapID target=»manual» url=»manualContenido.html» />

<mapID target=»instalar» url=»bienvenida.html» />

<mapID target=»clientes» url=»clientes.html» />

<mapID target=»facturas» url=»facturas.html» />

<mapID target=»eventos» url=»eventos.html» />

</map>

Como veis gracias a los target se diferencian los html y los cargan de manera diferente.

Fichero tabla de contenidos

Interfaz gráfica Java Netbeans

Interfaz gráfica Java Netbeans

Aquí nos vamos a crear una tabla de contenidos es como un árbol en el que vamos a ver los capítulos u subcapitulos de ayuda.

El contenido que encontramos en este archivo sera algo así:

<?xml versión=»1.0″ encoding=»ISO-8859-1″?>

<toc versión=»1.0″>

<!– categoryclosedimage=»FolderClosed» categoryopenimage=»FolderOpened» topicimage=»ItemIco»–>

<tocitem text=»Manual» target=»manual»>

<tocitem text=»Bienvenida» target=»instalar»/>

<tocitem text=»Clientes» target=»clientes»/>

<tocitem text=»Facturas» target=»facturas»/>

<tocitem text=»Eventos» target=»eventos»/>

</tocitem>

</toc>

Fichero indice de JavaHelp

Interfaz gráfica Java Netbeans

Interfaz gráfica Java Netbeans

En esta pantalla vamos a poder buscar los ficheros gracias a los target

<?xml version=’1.0′ encoding=’ISO-8859-1′ ?>

<!DOCTYPE index PUBLIC «-//Sun Microsystems Inc.//DTD JavaHelp Index Version 1.0//EN» «http://java.sun.com/products/javahelp/index_1_0.dtd»>

<index version=»1.0″>

<indexitem text=»Manual» target=»manual»/>

<indexitem text=»Instalar» target=»instalar»/>

<indexitem text=»Clientes» target=»clientes»/>

<indexitem text=»Facturas» target=»facturas»/>

<indexitem text=»Eventos» target=»eventos»/>

</index>

Búsqueda en la ayuda de JavaHelp

Interfaz gráfica Java Netbeans

Interfaz gráfica Java Netbeans

Para poder realizar esta ayuda tendremos que ejecutar desde cmd el siguiente código

Para ejecutarla, vamos al directorio help y ejecutamos

$ cd /PATH_PROYECTO/help
$ java -jar /PATH_JAVAHELP/bin/jhindexer.jar html

Aunque yo lo hare en Windows

c:\> cd c:\proyectos\ejemplo_java_help\help
c:\> java -jar C:\Aplicaciones\jh2.0\javahelp\bin\jhindexer.jar html

Fichero hlp hs

Este fichero es el principal va en formato XML pero pone extension .hs

<?xml version=»1.0″ encoding=’ISO-8859-1′ ?>

<!DOCTYPE helpset

PUBLIC «-//Sun Microsystems Inc.//DTD JavaHelp HelpSet Version 1.0//EN»

«http://java.sun.com/products/javahelp/helpset_1_0.dtd»>

<helpset versión=»1.0″>

<title>Ayuda TopGest</title>

<maps>

<!– Pagina por defecto al mostrar la ayuda –>

<homeID>manual</homeID>

<!– Que mapa deseamos –>

<mapref location=»mapa.jhm»/> </maps>

<!– Las Vistas que deseamos mostrar en la ayuda –>

<view> <name>Tabla Contenidos</name> <label>Tabla de contenidos</label> <type>javax.help.TOCView</type> <data>tablacontenidos.xml</data> </view>

<view>

<name>Indice</name>

<label>El indice</label>

<type>javax.help.IndexView</type>

<data>indice.xml</data>

</view>

<view>

<name>Buscar</name>

<label>Buscar</label>

<type>javax.help.SearchView</type>

<data engine=»com.sun.java.help.search.DefaultSearchEngine»> JavaHelpSearch </data

> </view>

</helpset>

El tag principal es helpset luego el title y despues uno que es obligado es el fichero del mapa maps luego podenos varios tags cada uno con lo que queremos mostrar.

El codigo java para manejar JavaHelp

private void cargarAyuda() {

try {

// Carga el fichero de ayuda

File fichero = new File(«src/help/html/help.hs»);

//C:\Users\Campus\Documents\NetBeansProjects\Trabajo_DI_ireport_informes_20-1-2015\Proyecto\src\help\html\help

URL hsURL = fichero.toURI().toURL();

// Crea el HelpSet y el HelpBroker

HelpSet helpset = new HelpSet(getClass().getClassLoader(), hsURL);

HelpBroker hb = helpset.createHelpBroker();

// Pone ayuda a item de menu al pulsar F1. mntmIndice es el

hb.enableHelpKey(getContentPane(), «instalar», helpset);

} catch (Exception e) {

// logger.error(«Error al cargar la ayuda: » + e);

}

}

En primer lugar construimos en formato URL el path del fichero .

Una vez que tenemos el fichero en formato URL instaciamos la clase HelSet pasandole un ClassLoader y la URL del fichero.

Lo del ClassLoader es importante porque el ficherohelp_set.hs podría estar dentro de nuestro jar o bien en un fichero suelto en el disco. En general, bastará con obtener el ClassLoader con getClass().getClassLoader(), como hemos hecho en el trozo de código. La clase HelpSet de alguna forma contiene todos los datos relativos a nuestra ayuda, leídos de los ficheros de configuración que creamos antes.

HelpBroker hb = helpset.createHelpBroker();

Lo difícil ya está hecho. Ahora nos queda lo fácil y pesado. Ir por todas nuestras ventanas y botones de ayuda diciendoles que muestren la ayuda. Para ello usamos los métodosenableHelpOnButton() y enableHelpKey() del HelpBroker. En nuestra aplicación hay unJMenuItem que muestra ayuda y dos ventanas. Queremos que al hacer click en elJMenuItem salga la ayuda y también que salga al pulsar F1 en cada una de las dos ventanas.

El codigo de ayuda es este :

HelpSet helpset = new HelpSet(getClass().getClassLoader(), hsURL);

HelpBroker hb = helpset.createHelpBroker();

// Pone ayuda a item de menu al pulsar F1. mntmIndice es el

hb.enableHelpKey(getContentPane(), «instalar», helpset);

} catch (Exception e) {

// logger.error(«Error al cargar la ayuda: » + e);

}

}

Y aquí la Aplicación ya terminada :

Interfaz gráfica Java Netbeans

Interfaz gráfica Java Netbeans

Interfaz gráfica Java Netbeans

Interfaz gráfica Java Netbeans

 

Interfaz gráfica Java Netbeans