Página principal
JAVA
Municipios de España

En mi intento de coger el gusto al Java, y mira que le pongo ganas, sigo con un anterior programa realizado para android,  androj.html .
Este programa es una especie de base de datos que busca los municipios de España.
El fichero con la base de datos de municipios se llama municipios0.txt que se incluye en el propio programa dentro de la carpeta de recursos internos llamada datos.
En esta carpeta interna  datos, incluyo también un icono de representación del programa, y un fondo para que quede más estético el programa.
Al no saber mucho de Java, y provenir de C o Basic, el manejo de ficheros se hace de lo mas lioso.
En Java necesitas abrir un descriptor de ficheros FileReader , y un BufferedReader . En C con openFile vale, se pensarán los diseñadores de Java que los sistemas operativos no tienen como mínimo dos buffer para que el acceso sea rápido, además de el de el propio disco.
También te obligan a comprobar con try que la operación no tuvo errores.
Otras de las sorpresas que tuve y que me llevo tiempo encontrar el error fue la función substring.
Esta función extrae un trozo de una cadena, en mi caso era xtmp=tmp.substring(0,25); , para que los campos largos me los acortara.
El problema era que unas veces me funcionaba y otras no. Estuve tiempo hasta que descubrí que no comprobaba el tamaño de la cadena de origen. Entonces para que sirven los String, si en cosas como esta no comprueban el tamaño.
Tuve que solucionarlo con: int z=tmp.length();         if(z>25) z=25;         xtmp=tmp.substring(0,z); .
Creo a mi parecer que en Java se complican demasiado utilizando para todo herencias y clases. Pero esto es lo que hay.
Pero dejémonos de quejas sobre Java y continuemos.

He realizado dos programas que hacen lo mismo.
El primero utiliza referencias para colocar los diferentes elementos gráficos en la ventana principal.
El segundo utiliza coordenadas absolutas para colocar los elementos gráficos. Esto es debido a que quería colocar un fondo en la aplicación para que quedara más estética. También  implica utilizar absolutelayout que debes incluir en el programa.
El botón de Maps solo funciona en Linux, debido a que abre el navegador firefox con la coordenadas, en Windows se podrá hacer, pero lo he dejado como tarea para otros.



Normal.
Con absolutelayout y fondo.

Está realizado en Debian9_32bits comprobado en Windows10_64bits , Windows7_32bits, WindowsXP y Debian10 64bits, .


PROGRAMA


Saludos.
Juan Galaz