viernes, 2 de agosto de 2013

Ventana de alerta en Java

Una pequeña ventana de alerta puede ser útil en casos como en los que un usuario deja campos sin cubrir en un formulario o los rellena de manera incorrecta.

Lo primero de todo es crear el JFrame correspondiente:
        JFrame alerta = new JFrame();

El siguiente paso es establecer las dimensiones de la ventana. Con el método setBounds se puede establecer el ancho y alto de la alerta, así como las posiciones en los ejes x e y. Con el método setPreferredSize se establece la dimensión preferida. Si se quiere que la alarma aparezca centrada en la pantalla se puede utilizar setLocationRelativeTo pasándole por parámetro null. El método setTitle indica la leyenda que llevará la ventana una vez se lance.
        alerta.setBounds(10, 10, 400, 150);
        alerta.setPreferredSize(new Dimension(400,150));
        alerta.setLocationRelativeTo(null);
        alerta.setTitle("Alerta");

Una vez que se tiene la ventana lo siguiente es ocuparse del contenido de la misma, en este caso será un simple texto. En el siguiente trozo de código se muestra cómo se crea el label de texto, su tamaño preferido, su visibilidad mediante setVisible con parámetro true para indicar que se quiere ver el texto, y su localización que en este caso es centrada.
        JLabel label = new JLabel("Esta es una alerta");
        label.setPreferredSize(new Dimension(200,70));
        label.setVisible(true);
        label.setHorizontalAlignment(JLabel.CENTER);
        label.setVerticalAlignment(JLabel.CENTER);

Se tiene la ventana, se tiene el texto. ¿Qué falta? Juntar ambas cosas, mediante el método add. El método pack permite a la ventana adaptarse lo máximo posible a los tamaños preferidos de cada uno de sus componentes. Con setVisible de nuevo con parámetro true se hace visible la ventana.
        alerta.add(label);
        alerta.pack();
        alerta.setVisible(true);

Por último solo queda ejecutar todo el código y esperar al lanzamiento de la ventana:

Código entero:
        JFrame alerta = new JFrame();
        alerta.setBounds(10, 10, 400, 150);
        alerta.setPreferredSize(new Dimension(400,150));
        alerta.setLocationRelativeTo(null);
        alerta.setTitle("Alerta");

        JLabel label = new JLabel("Esta es una alerta");
        label.setPreferredSize(new Dimension(200,70));
        label.setVisible(true);
        label.setHorizontalAlignment(JLabel.CENTER);
        label.setVerticalAlignment(JLabel.CENTER);

        alerta.add(label);
        alerta.pack();
        alerta.setVisible(true);

No hay comentarios:

Publicar un comentario