domingo, 20 de noviembre de 2011

Formularios en Java

El tema de los formularios da para mucho. Intentaré resumirlo un poco mediante ejemplos de los distintos componentes que se pueden utilizar en los mismos y cómo podemos utilizarlos.

En esta entrada me centraré en algunas de las distintas opciones que tenemos para implementar la interfaz gráfica. Estas opciones las encontramos en el paquete javax.swing y son:
  • JWindow. Ventana sin barra de título ni botones para cerrar, maximizar, etc. Es la típica ventana que encontramos muchas veces al iniciar un programa, mientras este se está cargando.
  • JFrame. Ventana con barra de título y botones.
  • JDialog. Cuadro de diálogo, que sólo tiene el botón de cerrar.
A continuación dejo un ejemplo de código de cada una de ellas, junto con una captura de pantalla del resultado final y un ejemplo real del que podría ser su uso.

JWINDOW

@SuppressWarnings("serial")
public class EjemploJWindow extends JWindow {
 
 public EjemploJWindow() {
  initForm();
  initComponents();
  setVisible(true);
 }

 private void initForm() {
  setSize(400, 300);
  getContentPane().setBackground(Color.PINK);
  setLocationRelativeTo(null);
 }

 private void initComponents() {
  // Aquí se inicializarían los componentes de la ventana.
 }

}


Aunque parezca un rectángulo rosa hecho en el Paint, es el resultado de ejecutar el código anterior. Ahí va un ejemplo de lo que se podría hacer con JWindow, la pantalla de inicio de un programa:


JFRAME

@SuppressWarnings("serial")
public class EjemploJFrame extends JFrame {
 
 public EjemploJFrame() {
  initForm();
  initComponents();
  setVisible(true);
 }

 //Método en el que se inicializa el formulario
 private void initForm() {
  setTitle("Ejemplo de JFrame");
  setSize(400, 300);
  //Al indicar "null", el formulario aparecerá en el centro de la pantalla.
  setLocationRelativeTo(null);
  //Especificamos la operación que ocurrirá por defecto cuando se "cierre" el formulario.
  //En este caso, se cerrará
  setDefaultCloseOperation(DISPOSE_ON_CLOSE);
 }

 //Método en el que se inicializan los componentes del formulario
 private void initComponents() {
  // Aquí inicializaremos todos los componentes que tenga nuestro formulario.  
 }

}



JDIALOG

@SuppressWarnings("serial")
public class EjemploJDialog extends JDialog {

 public EjemploJDialog() {
  initForm();
  initComponents();
  setVisible(true);
 }

 private void initForm() {
  setTitle("Ejemplo de JDialog");
  setSize(400, 300);
  setLocationRelativeTo(null);
  setDefaultCloseOperation(DISPOSE_ON_CLOSE);
  //Esta opción hace que se bloque la ventana desde donde se invoca al cuadro de diálogo
  //Para que no esté disponible hasta que se haga algo en éste
  setModal(true);
 }

 private void initComponents() {
  //Aquí inicializaremos todos los componentes que tenga nuestro cuadro de diálogo.
 }
}


No hay comentarios:

Publicar un comentario