Tutorial de Java

Diálogos Predefinidos

Anterior | Siguiente

Swing también proporciona nuevos modelos de diálogos predefinidos del sistema, como son en diálogo de selección de colores, el diálogo de selección de ficheros, diálogos de aviso, error y confirmación, y algunos más. La apariencia es muy distinta a la que se presentaba en el AWT en algunos casos, por ejemplo en la selección de ficheros.

La ventana que permite la selección de ficheros, suele ser una ventana modal, ya que los cambios que se produzcan en ella, o la selección que se haga, repercutirá en el funcionamiento de la aplicación general. Normalmente, la ventana de selección de ficheros se utiliza para presentar una lista de ficheros y permitir al usuario seleccionar cuál de ellos debe abrir la aplicación; o, por el contrario, permitir al usuario la introducción de un nombre o selección del fichero con que se quieren salvar datos. El objeto JFileChooser no realiza ninguna de estas acciones, es decir, no abre ni salva nada, sino que se limita a sleccionar el nombre del fichero con el que se desea realizar la acción; es responsabilidad del programa el llevar a cabo la apertura del fichero o la grabación de datos.

Tal como se muestra en la figura siguiente, generada tras la ejecución del ejemplo java1419.java y realizado un montaje de las dos selecciones obtenidas tras la pulsación de cada botón presente en la ventana, se puede observar que la mejora que se ha incorporado a Swing es sustancial, en comparación con su opción en AWT.

Además, resulta muy sencillo incorporar visores de los distintos tipos de ficheros, o cambiar los iconos que indican el contenido de los ficheros, etc.

El ejemplo java1420.java se genera un diálogo de confirmación, utilizando el que por defecto proporciona Swing, del mismo modo que en los ejemplos siguientes se usan algunos de los demás diálogos predefinidos.

import java.awt.event.*;
import com.sun.java.swing.*;

public class java1420 extends JFrame implements ActionListener {

  public java1420() {
    JButton boton = new JButton( "Muestra Ventana" );
    getContentPane().add( boton,"Center" );
    pack();
    boton.addActionListener( this );
  }
  
  public void actionPerformed( ActionEvent evt ) {
    int res = JOptionPane.showConfirmDialog( this,"Responda Yes o No",
      "Tutorial de Java, Swing",JOptionPane.YES_NO_OPTION );
    String respuesta = null;
   
    if( res == JOptionPane.YES_OPTION ) 
      respuesta = "Si";
    else
      respuesta = "No";
    System.out.println( "Respuesta: "+respuesta );
  }

  public static void main( String args[] ) {
    new java1420().setVisible( true );
  }
}

Si se ejecuta el programa anterior, la imagen que aparece en la pantalla corresponde a la ventana de diálogo que va a presentar un mensaje y dos botones, uno para confirmación, en cuyo caso devuelve el Panel como respuesta la constante YES_OPTION, y otro para la desestimación.

Así el ejemplo java1421.java utiliza el diálogo de aviso y en el ejemplo java1422.java se emplea el diálogo predefinido que permite introducir datos, y que resulta extremadamente útil cuando no se desea implementar ningún interfaz de entrada, por ejemplo a la hora de pedir contraseñas de acceso, en que no merece la pena el desarrollo de ventanas específicas para tal acción. Las figuras siguientes muestran ejemplos de estos dos diálogos predefinidos en Swing.

Navegador

Home | Anterior | Siguiente | Indice | Correo