martes, 3 de noviembre de 2020

Como Crear un proyecto tipo Aplicacion Java con NetBeans

Como Crear un proyecto tipo Aplicacion Java con NetBeans


Cuando empezamos a aprender un IDE como NetBeans, lo primero que tenemos que conocer es como crear un proyecto, para empezar luego a crear las aplicaciones. Normalmente la forma de hacerlo es intuitiva, pero es mas fácil ver un ejemplo que vaya al grano.

Abrimos NetBeans































 Nuestro primer paso para crear nuestro proyecto tiene tres formas de hacerse:

Primera forma.- Vamos directo al icono de creación de proyectos que sería el siguiente que vemos en la imagen.




Segunda forma.- Pulsamos sobre la opción File lo cual abre un submenú de opciones y entre la opciones que muestra, pulsamos sobre New Project.





Tercera forma.- Pulsamos las teclas Ctrl + Mayúsculas(Shift) +  N. Como puedes ver al posicionar el puntero del ratón sobre los opciones antes indicadas o en el icono de la primera forma, de una vez nos muestra como sugerencia esta última opción, que e slo que se llama un shortcut o atajo de teclado.

Con el tiempo usarás la que mejor se adapte a tus gustos y forma de trabajar. Si lo deseas usa ahora una de las tres opciones anteriores para crear el proyecto o sigue la sugerencia que sigue.

Para probar vamos a usar esta última opción. Pulsa y mantén pulsadas las teclas Ctrl  y Mayúsculas(Shift) y luego pulsa la tecla "N".

Sin importar el método utilizado se nos abrirá una ventana igual o similar a la siguiente:




En la imagen anterior podemos identificar dos submenus, el del lado izquierdo nos muestra categorías y el derecho los tipos de proyecto que crearemos.

En nuestro caso vamos a crear una aplicación de escritorio o Desktop Java, con lo cual dejamos marcadas las opciones anteriores, que por defecto nos muestra la primera vez que la utilizamos.

Pulsamos el botón Next (siguiente), y aparece la siguiente pantalla:



Por defecto, NetBeans nos sugiere un nombre, que normalmente nosotros siempre vamos a cambiar,  así que borremos el sugerido en la casilla Project Name y escribimos "appejemplo".





Ahora, si nos fijamos en las dos imágenes anteriores, veremos que la casilla Project Location (Ubicación del Proyecto), lo escrito no ha cambiado en ninguna de las dos, pero en la casilla Project Folder (Carpeta o Subdirectorio del Proyecto) si lo ha hecho. Sobre esta última vemos que la diferencia es el nombre del proyecto.


En Project Location lo que se muestra en este caso, es la ubicación física de la carpeta contenedora de los proyectos, es decir, la secuencia de subdirectorios que debo ir abriendo para llegar a la ultima en donde se encontrará la carpeta final del proyecto. Si pulsamos el botón Browse que tiene al lado, podemos buscar otro subdirectorio cualquiera dentro de nuestra PC o en un recursos compartido de red para crear  ahí la carpeta que contendrá los recursos del proyecto. Lo normal y aconsejable es siempre trabajar en tu propio PC y utilizar un repositorio de versiones como git, para mantener un mejor control sobre el proyecto, ademas de estar mas seguro.

Project Folder simplemente nos informa el nombre que se le asignará a la carpeta que contendrá todo lo relativo al proyecto, librerías, programas fuentes, programas compilados java, etc.. Nótese que no podemos acceder y cambiar este nombre, lo que significa que tendremos un subdirectorio (carpeta) con el mismo nombre que nuestro proyecto.

Vemos ademas dos opciones, con casillas que podemos marcar según nuestra necesidad.

En el caso del recuadro  Use Dedicated Folder for Storing Libraries, la marcaremos si nuestro proyecto depende de un ubicación centralizada de librerías que deben estar incluidas en nuestro proyecto y que son de obligado uso. Normalmente no es el caso, pero de serlo,  el Jefe del proyecto o encargado nos indicará tal eventualidad.

En el recuadro Create Main Class es simplemente para que se nos cree automáticamente un programa principal en java que contenga el método main, que es el que inicia el programa. Por defecto, Netbean inicialmente suele mostrar marcado este recuadro, pero una vez que somos usuarios mas experimentados, lo más común es que la desmarcamos, y solemos crear nuestra propia clase main, con otro nombre, y esto último es lo que haremos. La razón es muy sencilla, y es que a veces usamos nombres de proyectos largos y descriptivos, lo hace muy engorroso ver programas con un nombre tan largo y que no indica cual es su función.

Desmarcamos el recuadro Create Main Class, si estaba marcada y pulsamos la opción Finish (terminar).

Con esto hemos creado nuestro proyecto como vemos en la imagen:


Ahora podemos crear nuestro primer programa java con el método main para que sea nuestra clase principal y poder ejecutar la aplicación que desarrollaremos.

Lo siguiente es opcional, o dejarlo hasta aquí y seguir en algún otro tutorial que puedas estar siguiendo.

Hasta aquí ya está explicado, de como crear un proyecto, pero lo siguiente es algo que he aprendido, por mi propia experiencia y sobretodo al principio.

Cuando hacemos un programa en java tipo aplicación, la forma de arrancar el mismo exige una clase que debe ser marcada como main (principal). Si esta clase no existe simplemente el programa no se ejecutará. Los IDE Netbeans y Eclipse piden que se les indique cual es esa clase, cuando se intenta ejecutar el proyecto y hay que indicarles cual es.

Para que una clase pueda ser marcada como main, debe contener el método main, de lo contrario no funcionará





La idea es sugerir de algún modo cual es la clase desde la cual se iniciará la corrida del programa, de manera que si alguna otro programador, sea un subalterno futuro de nosotros, o un empleado de algún cliente que nos hubiere contratado para diseñarle un programa, o algún compañero de alguna corporación grande donde trabajemos, etc... conozca desde que clase si inicia todo.

Lo anterior parece trivial, pero si es un proyecto con unas decenas de clases, les aseguro que dejarán de pensarlo de por vida. Ubicar una clase principal en una maraña de clases, resultará un trabajo que desperdiciará horas de trabajo, si el proyecto no está debidamente documentado.

Para crear la clase que contendrá el método main, crearemos una clase que estará dentro de un paquete que llamaremos igualmente principal. Normalmente cuando nos iniciamos en Java lo mejor es no complicarse, pero creeme, lo mejor es irse acostumbrando a como en realidad se programa en java desde un principio.

Si tu proyecto no está desplegado simplemente pulsa con el ratón sobre el icono en forma de triángulo que está al lado izquierdo del nombre del proyecto.




Ahora ponemos el puntero del ratón sobre el Source Packages (paquetes fuentes) y pulsamos el botón derecho del ratón lo cual nos abrirá un menú contextual en el cual pulsamos con el puntero sobre New (nuevo) que a su vez abrirá otro menú contextual y dentro del cual pulsaremos con el ratón en la opción Java Package...


Lo anterior nos abrirá una ventana igual o similar a la siguiente, pero que indicará como nombre newpackage y lo cambiaremos por el que deseemos. En este caso usaremos principal, y luego pulsamos sobre el botón Finish (terminar):


Lo anterior nos crea el paquete con el nombre principal y sobre el cual vamos a colocar ahora el puntero y pulsaremos el botón derecho del ratón, lo cual nos abre un menú contextual donde nos ubicaremos sobre la opción New (nuevo) que abrirá a su vez otro submenú sobre el cual pulsaremos con el puntero del ratón sobre la opción Java Class...


Esto nos abrirá una nueva pantalla igual o similar a la siguiente, la cual en el momento de abrirse traerá por defecto un nombre de clase NewClass, el cual  borraremos y escribimos en su lugar el nombre que nosotros deseemos, en nuestro ejemplo usaremos inicio, y pulsamos sobre el botón Finish (terminar):


Lo anterior crea el archivo java fuente de nombre inicio dentro del paquete principal que hemos creado antes y nos abre el archivo para que podamos editarlo, como vemos en la pantalla siguiente:


En la imagen podemos notar que no tenemos aún el método main, dentro de la clase, con lo cual la misma no puede ser utilizada como clase main o de arranque de nuestra aplicación. vamos añadirle el metodo utilizando un shortcut muy util para esto utilizado para NetBeans.

Escribimos las letras psvm, acrónimos de public static void main, e inmediatamente sin tocar ninguna otra letra o espacio pulsamos la tecla Tab (Tabulador). Veremos como se escribe automáticamente el cuerpo del método main.


El resultado de lo anterior será lo que muestra la siguiente imagen:


Como vemos el NetBeans debe habernos creado el método main. Solo falta ahora poner el código que se necesite de nuestra aplicación y ejecutar la misma desde esta clase.

Crear ventanas (JFrame) manualmente sin layout.

Como siempre si detectas algún error u omisión, o hacer una observación importante, por favor deja un comentario, para corregir, cambiar los conceptos que sean necesarios. Muchas Gracias por visitar mi blog.








13 comentarios:

Lo Olviddo de Panamá dijo...

excelenteeeeeeeeee compaiii excelenteeee muchas gracias

Unknown dijo...

Cómo sería para hacerlo con base de datos?
Gracias

José Miguel Guimerá Padrón dijo...

Gracias María por ver mi blog.

Para crear un proyecto del tipo aplicación con base de datos es el mismo proceso.

Aquí te dejo un enlace de un ejemplo usando Oracle Express

https://jmguimera.blogspot.com.es/2017/04/ventanas-con-ejemplo-de-persistencia.html

Es fácil de instalar en Windows, si lo quieres hacer en Ubuntu o cualquier distro Linux basado en Debian el siguiente enlace te puede servir para instalar Oracle.

https://jmguimera.blogspot.com.es/2016/08/como-instalar-y-configurar-oracle-11g.html

Luego debes instalar el Oracle SQL Developer, que es un administrador de la base de datos. Puedes crear tus tablas y hacer los query probandolos antes de pasarlos al programa de java. Ami me gusta, mucho. Te dejo este enlace de nuevo si lo quieres hacer en Linux basados en Debian.

https://jmguimera.blogspot.com.es/2017/03/instalar-oracle-sql-developer-en-ubuntu.html

Estos dos programas son gratuitos y su finalidad es para uso personal mas que todo. Aquí puedes usar el SQL básico, sentencias que en el SQL original por llamarlo así, deben funcionar en cualquier base de datos, pero puedes aprender ademas de SQL el PL/SQL el lenguaje especifico que tiene oracle para sus bases de datos.

Para Windows si hay un instalador que te permite instalarlo y es muy sencillo de seguir.

Espero que esto te ayude.

Saludos


Unknown dijo...

Gracias José Miguel. La BD ya la tengo hecha, con MySQL, perdona no lo había dicho. Mi problema, es al intentar crear la aplicación en NetBeans, he visto por Internet, que debe aparecer la opción "Database Application" pero no veo la opción. Estoy usando la versión 8.2. No sé qué estoy haciendo mal.
Me gustan las explicaciones, entiendo mejor las cosas que otros documentos que he leído ¡¡¡ Gracias !!!

José Miguel Guimerá Padrón dijo...

Hola María:

La verdad que esa opción nunca la he visto, por lo que me gustaría mucho me pasara sel enlace de esa pagina donde lo viste, para comprobar de que se trata, ya que puede ser un framework que cree esa opción.

Parece mas bien que tu lo que quieres es hacer una aplicación para web y no para desktop de es lo que va este tutorial en realidad.

En tu caso puede que lo que has visto es un proyecto basado en algún controlador de dependencias como MAVEN.

Dependiendo de que opción de NetBeans instalaste, puede que te salga esta opción o no, porque yo generalmente escojo que instale todo completo, porque las demás opciones dejan muchas cosas por fuera.

Si instalaste NetBeans para que puedas desarrollar todo tipo de proyecto java, entre la opciones veras MAVEN. Ahí tampoco verás nada de Base de Datos.

Pero si vas a SAMPLES (ejemplos), verás una opción tipo CRUD. Ahí ya te están hablando de base de datos y de hecho el icono es una representación de una BD.

Yo creo que te estás refiriendo a algo parecido, pero por eso te pido que me pases el enlace porque me interesa ese tema, entre otras cosas porque puede que el mismo sea un framework que crea por ti las conexiones según el tipo de base de datos, MySQL, ORABLE,Postgre,etc.. y añada la dependencia .jar necesaria etc..

Gracias de nuevo por tu participación y hablarnos de tu inquietud.

Saludos

Unknown dijo...

Hola Jose Miguel. Quería hacer una aplicación de escritorio, este es el enlace https://bustamanteg.wordpress.com/2011/03/11/desarrollo-de-aplicaciones-con-conexion-a-bases-de-datos-con-netbeans-parte-2/
La verdad es que no se si me faltó algo por instalar... Me descargué un paquete que llevaba JDK y Netbeans, espero que sea eso y pueda dar con lo que me falta.

José Miguel Guimerá Padrón dijo...

Hola María:

Ya estuve mirando por encima el enlace, y como te había comentado se trata de un framework, o por lo menos parte.

Lo primero que hay que fijarse al hacer un proyecto en internet es la fecha del articulo, pero ademas y mas importante fijarse en la versión de los programas que se estén utilizando.

El NetBeans utilizado en el ejemplo que tu viste es la versión 6.9.1 y ha llovido mucho desde entonces.

Por alguna razón NetBeans quitó esa opción en las nuevas versiones, pero supuestamente hay forma de aún así poder realizar ese programa que estas siguiendo, ya que se basa en tres archivos .jar que tienes que añadir a las librerías del proyecto específicamente el Swing Application Framework,Beans Binding, y TopLink Essentials.

Pero ahora viene el otro pero el Beans Binding y el Swing Application Framework si estan en al versión 8.2, uno ya está instalado que es el Binding y el otro es el Swing que aunque lo tiene no está instalado.

Luego viene el proceso de instalar estas librerías en el proyecto en particular, así que lo que voy hacer es ver como se hace todo para poderte ayudar a terminar ese programa.

En teoría el framework del swing parece construir el solo la interface que va a interactuar con la base de datos, y por eso tengo curiosidad en ver que es lo que hace y ver si es capaz de programar el solo la conexión a al base de datos.

Sin embargo, ante algo tan aparentemente bueno en el sentido de ahorrar tiempo en construir a conexión y el enlace entre los campos de la tas tablas y la interface, me lleva a pensar de que pudo haber sido descontinuado por problemas de seguridad del tipo inyección SQL, una forma muy utilizad apara comprometer base de datos.

Yo no recomendaría usarlo sin documentarse bien, a menos que solo sea por cuestiones educativas.

Saludos

José Miguel Guimerá Padrón dijo...

Hola María de nuevo,

Voy a ponerme a mirar esto con mas calma y ver como solucionarlo.

Saludos

Unknown dijo...

Hola Jose Miguel

Sus motivos tendrían para quitarlo, sobre todo era por si estaba haciendo algo mal y si podía ahorrar algo de tiempo, mejor. Estaba siguiendo un curso e-learning y se me ocurrió que podría haber algo más sencillo, por eso investigué.
Lo haré como "toca". Gracias por tu tiempo.
Un Saludo.

José Miguel Guimerá Padrón dijo...

Hola María:

Muchas gracias por participar y ya que estas aprendiendo te sugiero que aprendas algo de git que es un controlador de versiones. Se usa en conjunto con GitHub que es simplemente un repositorio de documentos git por decirlo de alguna manera. Esto te ayudara a poder guardar un programa que este funcionando y que deseas modificarlo, darle una versión y empezar otra versión con el mismo, de manera que puedas modificarlo y si no va, pues vuelves a empezar desde la versión anterior. Lo otro es conocer a fondo maven que es una especie de repositorio de referencias a dependencias, lo cual permite que un programa como el que tu estuviste consultando de una versión tan vieja, puedas ponerlo a correr de nuevo ya que el maven de te dará las referencias que necesita para correr como si no hubieran pasado los años.
Te deseo mucha suerte y éxitos en tu carrera.
Saludos.

ARNALDO MARQUEZ dijo...

Estoy aprendiendo NETBEANS, TENGO 69 AÑOS, Y SIEMPRE HA PROGRAMADO EN VB 6, ADEMAS DE OTROS LENGUAJES (DESDE RPG , COBOL, ETC)Y QUISIERA SABER SI PUEDO PASAR MIS PROG VB 6 A NETBEAN

Karely dijo...

Clarisimooo, gracias amigo, me funcionó perfecto, agosto 2020

José Miguel Guimerá Padrón dijo...

Si.
En principio Netbeans es un IDE, o sea, es un programa de edicion de texto especializado en programas para Java.

Esto quiere decir que el sistema aporta ayuda para la correcta sintaxis.

Creo que hay pluggins que sirven para otros lenguajes,no me he fijado en eso.

Pero si usas VB6, lo que mejor te convendría MS CODE, de Microsoft. Estoy seguro que si encontraras pluggins que te harán la vida mas llevadera y podrás probar tus programas desde el mismo programa.

Publicar un comentario

Tu comentario puede ser muy útil, asi que no dudes en dejar el tuyo.
Si es relacionado con algún problema, error. etc. trata de ser muy explicito, y detallar el problema y las circunstancias en las que se produjeron. Si lanza algún error trata de copiarlo y pegarlo junto con una descripción del problema, ya que a veces los errores del sistema no son en realidad la causa del problema.

Vistas de página en total