Este post surge a raíz de un post de julio del año pasado:

GUI’s en Java: Swing, AWT, SWT, Eclipse, Netbeans… ¿problema interminable?

En él, luchábamos por crear formularios y ventanas en Java. En el momento, NetBeans dejó de ser una opción, ya que el código de sus formularios no compilaba con la versión de la JDK que tenía el profesor. Más adelante nos enteramos que aparentemente usaba una JDK bastante vieja…

Después de tanto luchar, decidí reconciliarme con los GUI en Java, y probar Swing. En el momento probé con AWT, y sufrí bastante :P. Pero desde entonces no había tocado nada de GUIs en Java.

En mi trabajo usamos Java EE orientado a web. O sea que no estoy muy familiarizado con Swing y raras veces tocamos la parte de Interfaces Gráficas de Usuarios (GUI) a no ser que sea JSP. Además uso el IDE Eclipse. Pero con la salida de NetBeans 6.5, me obligué a probarlo, dado su crecimiento y mejoras en los últimos tiempos.

Soy de los que piensan que cada herramienta tiene sus pro y contras. Y por más que le agarré bastante cariño a Eclipse, y estoy más acostumbrado a su entorno, hay que evaluar los requerimientos y necesidades para elegir la herramienta adecuada a cada tarea.

Hasta acá me vengo cubriendo del flamewar Eclipse vs. NetBeans :P

Aplicaciones Java SE con Swing

Siguiendo con este análisis, hoy en día es de conocimiento general que NetBeans es el IDE ideal para programar aplicaciones Java de Escritorio con interfaz gráfica. Como venía contando soy un total analfabeto en Swing y NetBeans hasta este momento. Así que decidí empezar con algo bien simple y ver qué (si) complicaciones se me presentan.

Tengo una vaga idea de qué es Swing: Es un API de Sun para programar GUI’s en aplicaciones Java… Está basado en el patrón de diseño MVC… y poco más :S. Lo poco que he aprendido ha sido de charlas, conferencias, y alguna cosa más que he leído y aprendido en Java. Pero nunca trabajé directamente con Swing.

Trabajando con NetBeans

Aprovecho la iniciativa para ir descubriendo un poco sobre NetBeans. Comprobé que programar una aplicación gráfica en Java es bastante sencillo. Para empezar, voy a comentar sobre la aplicación mas básica que se me ocurrió: Un programa que pide tu nombre y te saluda (“Hola mundo con vitaminas”). Mi idea es empezar con esto, e ir viendo programitas algo más complejos cuando vaya teniendo tiempo para aprender a usar Swing.

Abro Netbeanes, elijo “File > New Project > Java > Java Desktop Application”. Al elegir una aplicación de escritorio, ya contamos con un esqueleto común. Una ventana con un menú, opciones de salir del programa, o ver el diálogo de “Acerca De”. En la ventana siguiente elijo el nombre, la aplicación, etc.

NetBeans HolaMundo Swing

NetBeans HolaMundo Swing

Como ven en la imagen siguiente, la aplicación ya está bastante “armada”. Les paso a comentar algunas características del IDE. Tenemos todos los paneles posibles a la hora de diseñar la interfaz gráfica.

NetBeans - Aplicación lista para programar

NetBeans - Aplicación lista para programar

Me resultó extremadamente útil el panel a la izquierda debajo del explorador de paquetes, denominado “Inspector“. Ahí nos muestra la jerarquía de los componentes gráficos que integran nuestra aplicación. Empieza desde el Form, seguido del Frame View, el Main Panel, etc. Cada componente con los componentes que lleva adentro, mostrando la jerarquía al estilo árbol de directorios. Desde ahí podemos seleccionar los componentes directamente.

A la derecha se encuentra la vista de propiedades, eventos, binding y código de los componentes. Gracias a esto, aplicar un evento a un componente es extremadamente sencillo. También contamos con “Palette”,  el panel de componentes, que podemos ver, no le falta nada:

NetBeans - "Palette" panel de componentes

NetBeans - Panel de componentes

Otra cosa bastante práctica es que al tener un archivo fuente abierto, podemos cambiar de vista código a diseño dentro de la misma pestaña.

Conclusión

Esta simple tarea fue tan sencilla como arrastrar y soltar los componentes, definir algunas propiedades, y escribir el siguiente código:

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
        String name = jTextPane1.getText();
        if(!(name.equals(""))&& name!=null){
            jLabel2.setText("¡Hola " + name + "!");
        }else{
            jLabel2.setText("Por favor ingresa tu nombre para ser saludado :D");
        }
    }

Pero fue suficiente para darme cuenta lo sencillo que es hoy en día programar una aplicación Java SE con GUI.

Encuentro que Eclipse y NetBeans son bastante parecidos en esencia. Ambos tienen cosas muy buenas, y es bueno que compitan, para obligarse a mejorar entre sí. De todas formas veo que no hay tanta diferencia entre usar uno y otro.

Estos fueron algunos comentarios de una primera experiencia en el tema. Espero tener más tiempo para seguir aprendiendo Swing, y poder subir algún ejemplo más complejo más adelante. Estoy pensando alguna idea para poder implementar algo más completo, con varios formularios, y JPA. Sus ideas son bienvenidas.

Dejo el proyecto para NetBeans por si alguien lo quiere ver:
hola-mundo-swing-netbeans.tar.gz

11 comentarios para la entrada.

  1. Avatar alejandro 13 diciembre. 2008 - 2:30 am Gran Paradiso 3.0.4 GNU/Linux

    Hola, bueno yo probe netbean pero me gusta mas eclipse sencillamente lo sietno mas limpio en ciertas cosas seguramente el netbean se puede hacer mas limpio, pero no se lo veo que tiene mucho pero igual te invito a probar, qt jambi son las librerias de qt pero para java esta muy bueno y me llama la atencion lastima que no hay mucha documentacion pero bien se puede acoplar a eclipse, saludos.

  2. Avatar fernando 18 diciembre. 2008 - 1:09 am GNU IceCat 3.0.3 Debian GNU/Linux

    Personalmente también uso más Eclipse, pero de todas formas NetBeans no está nada mal.

    Ya había leído acerca de QT Jambi, ¡veré de hacer un “Hola Mundo” con esas bibliotecas también!

    Saludos

  3. Avatar sion 3 febrero. 2009 - 7:15 pm Debian IceWeasel 3.0.5 Debian GNU/Linux

    Hola yo realize, hace un tiempo(pues tambien estoy empezando), un ejemplo parecido al tuyo, pero con una conexión a mysql, usando netbeans,

    http://debianix.blogspot.com/2007/12/conexion-mysql-con-java-en-netbeans-2.html

    ahora estoy con las jtables, pero si, que tienen su complejidad.

    saludos

  4. Avatar Ariel 12 mayo. 2009 - 12:01 am Firefox 3.0.6 Windows XP

    Hola como estan pues yo acabo de ver elnetbeans y no se mucho sobre esto alguien sabe donde puedo encontrar algun buen tutorial???? o libro?? gracias

  5. Avatar bety 2 noviembre. 2009 - 6:37 pm Internet Explorer 8.0 Windows Vista

    hola quiero ver si m pueden ayudar para programar mis formulario ya que solo tengo el diseño

  6. Avatar anakin 27 diciembre. 2009 - 2:34 pm Shiretoko 3.5.6 GNU/Linux

    very good !!!

  7. Avatar tavo 27 abril. 2010 - 3:35 pm Internet Explorer 7.0 Windows Vista

    Me gustaria saber si me pueden ayudar en como hacer una ventana de dialogo donde se pregunte “realmente desea salir” y aparte me aparezcan dos botones “aceptar” y “regresar”

  8. Avatar tavo 27 abril. 2010 - 3:37 pm Internet Explorer 7.0 Windows Vista

    me falto esto es netbeans, gracias

  9. Avatar Kevin Arnold 14 diciembre. 2011 - 9:30 pm Firefox 11.0a1 Windows 7

    Chévere ha…

    aquí les dejo una web donde se postea temas en java desde lo básico hasta lo avanzado…
    http://www.todoenjava.blogspot.com

Dejar un comentario

Notificarme los nuevos comentarios por correo electrónico. Tambien puedes suscribirte sin comentar.

  1. Unknown programame.net | 10 diciembre. 2008 - 1:19 pm

    [Java GUI]: Hola Mundo en Swing con NetBeans…

    Hoy en día es de conocimiento general que NetBeans es el IDE ideal para programar aplicaciones Java de Escritorio con interfaz gráfica. En este post comento la experiencia de programar una aplicación Swing con NetBeans, a forma de review para ir con…

  2. WordPress Tutoriales y recursos para comenzar a estudiar con Java | Picando Código | 4 mayo. 2010 - 7:48 am

    [...] En cuanto a las herramientas para desarrollar en Java, hoy en día hay dos Entornos Integrados de Desarrollo libres excelentes: Eclipse y NetBeans. Cada uno es bueno en ciertos aspectos y tecnologías. Para desarrollo GUI, me rompí la cabeza varias veces cuando comencé. Hoy no dudo en recomendar NetBeans – Hola mundo en Swing con NetBeans. [...]