Tutorial de Jigloo - Segunda parte: cómo añadir eventos y acciones en Swing

Para completar la primera parte del tutorial, procedemos a añadir eventos a las ventanas. Un evento es cada una de las acciones que realizamos sobre nuestro programa, desde pulsar un botón, situar el botón sobre un objeto o minimizar la ventana.

  • Antes de nada, vamos a completar la interfaz con un menú Ayuda, que contendrá dos ítems: Ayuda y Acerca de...
  • Lo siguiente es crear una ventana que será la que aparezca cuando pulsamos sobre el botón Acerca de...  Pulsamos fuera de la ventana y seleccionamos Add → Add Containers → JDialog

    tut_jigloo_2_1.png
     
  • Una vez que tenemos el JDialog creado, le asignamos un nombre, por ejemplo vAcercaDe. Le asignamos un GroupLayout, que se encuentra en la opción Set Layout que aparece cuando pinchamos con el botón derecho. Ponemos título y redimensionamos al tamaño adecuado y añadimos un JLabel y un botón (yo les llamaré LabelAcercaDe y buttonOkAcercaDe de forma que quede así:

    tut_jigloo_2_2.png
     
  • Ahora tenemos que añadir un evento que cierre la ventana cuando pulsemos el botón OK. Para ello seleccionamos More Components → AbstractAction. Podemos hacerlo a través de la barra de herramientas o mediante el menú contextual pinchando sobre el botón. Llamaré a la acción accionCerrarAcercaDe. Le asignaremos el texto "OK". A continuación tenemos que editar el código de la aplicación directamente. En la pestaña Outline, donde encontramos todos los elementos de la interfaz, buscamos la accionCerrarAcercaDe y la seleccionamos. Si tenemos el código delante, el cursor se situará sobre el fragmento correspondiente a este elemento. Ahí es donde tenemos que agregar lo siguiente:

    getVAcercaDe().dispose();

    tut_jigloo_2_3.png
     
  • Lo siguiente será añadir otra acción que abra la ventana que acabamos de crear. Entonces tendremos que repetir el proceso anterior, sólo que ahora añadiremos la acción al itemAcercaDe, que está dentro del menú Ayuda. Podremos encontrarlo en la pestaña Outline.

    tut_jigloo_2_4.png
     
  • La llamaremos accionAcercaDe y le asignaremos el texto "Acerca de...". Lo siguiente será añadir el código. Procedemos como antes, pero ahora lo que habrá que añadir será lo siguiente:

    getVAcercaDe().pack();
    getVAcercaDe().setLocationRelativeTo(null);
    getVAcercaDe().setVisible(true);
  • Si ejecutamos la aplicación todo debería funcionar correctamente. Es posible que las ventanas no queden exactamente como aparecen en el editor, por lo que deberemos redimensionar los elementos necesarios. Si hay alguna duda más, mi correo está disponible para preguntas y sugerencias admin [_at_] java-spain [_dot_] com

    tut_jigloo_2_5.pngtut_jigloo_2_6.png

Actualización [04/08/2009]: Podéis descargar el código fuente: MainWindow.java

Su voto: Nada Promedio: 4 (2 votos)

Soy nuevo en esto de java swing y jigloo. Como puedo hacer para agregar un grupo de radio button? Gracias y perdon por mi pregunta que seguramente es muy basica!!

Lo primero es agregar un ButtonGroup, y entonces ya puedes añadir cada JRadioButton. Si necesitas más ayuda no dudes en contestar. Incluso puedes crear un tema en el foro!

Un saludo al primer comentarista del blog!!

Buenas noches,
he intentado con el ButtonGroup pero igual me deja seleccionar mas de un elemento a la vez y lo que quiero es que solo se pueda seleccionar uno. Les agradezco la ayuda.

Debes de tener algún error, porque en la documentación de Java pone explícitamente que sólo un elemento de los que contenga el ButtonGroup podrá estar seleccionado a la vez.

Puedes verlo en este enlace http://bit.ly/cw8h3Q

¿Has utilizado el método add?

JRadioButton rb = new JRadioButton("radio1");
JRadioButton rb2 = new JRadioButton("radio2");
 
ButtonGroup bg = new ButtonGroup();
bg.add(rb);
bg.add(rb2);

Muy bueno el tutorial, me ha permitido comprender los conceptos principales de Swing. Espero sigas publicando otros y muchas gracias por compartir tu conocimiento. Voy a participar en el foro más seguido.

Saludos desde Perú.

Me alegro de que te haya parecido útil.

Os recuerdo que podéis dejar vuestras dudas y se intentarán resolver cuanto antes.

Un saludo!

Saludos.
¿Seria mucho pedir preguntar si puedes colgar la clase (o clases) tal como quedarían luego de seguir los pasos del tutorial?
Tengo alguna duda, y poder mirar el código me ayudaría.

Un saludo.

Hola Sergio, ya he añadido el enlace al código fuente. Lo encontrarás al final de la entrada.
Un saludo.

Gracias por el código, una vez visto me ha quedado bastante más claro.
Aprovecho para hacer una pregunta, bastante tonta dicho sea de paso.
¿Como se abre la perspectiva del editor gráfico?
Es decir, cuando creo la clase se ve con el editor (mitad pantalla código mitad pantalla editor gráfico), pero si la cierra y la vuelvo a abrir se ve con la perspectiva de java normal.
¿Como haría para volver a verla? Mirando por los menus, opciones y demás consigo que a la derecha (donde el outline y demás) me aparezca el GUI Properties pero soy incapaz de encontrar una opción para darle que sea Open perspective como GUI/jigloo o similares. Lo más parecido que he visto que valga para ello esta en "Window-> customize perspective".

Un saludo.

Me auto respondo, menuda tontería que era, pero lo he descubierto de pura chiripa.
Para abrirlo con el editor gráfico, seleccionas la clase, y en vez de abrirlo con el tipico doble click haces boton derecho -> open with -> Form Editor (en vez de Java Editor)

Como puedo añadir un evento a un subitem de un menu, por ejemplo si tengo un menu Clientes y un submenu Altas ¿como añado una acción en Altas?
Gracias por toda vuestra ayuda

Fíjate en el post:

Lee detenidamente los pasos a seguir al asignar la acción al botón OK, y luego al hacer lo mismo con el itemAcercaDe. Debes añadir una AbstractAction y luego añadir el código que quieres que ejecute el item.

Si tienes más dudas pregunta y te lo explico más en profundidad.

Un saludo.

instale jigloo y si sale la ventana en eclipse pero cuando quiero agregar al gun componente no se quedan en frame no se puede arrastrar ningun componente... saben por que y cuando creo nuevos proyectos no me aparece la clase swing...ayuda please..

Muy buen tutorial!! Felicidades!!

Si tengo una ventana con un boton y un label
y quiero que cuando presione el boton salga un texto dentro del label por ejemplo "Hola Mundo"

en otros plugin al acerle doble click al boton
me saldria un codigo para rellenar las accione que quiero que se realizen

hay alguna manera de acer esto con el Jigloo

soy novato en esto .. espero ayuda de alguien

Enviar un comentario nuevo

El contenido de este campo se mantiene privado y no se mostrará públicamente.
  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Etiquetas HTML permitidas: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Saltos automáticos de líneas y de párrafos.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <pre>. The supported tag styles are: <foo>, [foo].

Más información sobre opciones de formato

By submitting this form, you accept the Mollom privacy policy.