Herramientas de usuario

Herramientas del sitio


bloque4:dialogos

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
bloque4:dialogos [02/03/2018 14:16] – [Seleccionar una opción] Fernando Valdeónbloque4:dialogos [16/09/2024 20:53] (actual) – editor externo 127.0.0.1
Línea 1: Línea 1:
 ====== Ventanas de Dialogo ====== ====== Ventanas de Dialogo ======
-Un cuadro de diálogo es toda aquella ventana que me muestra una información y tiene botones a través de los cuales yo doy una respuesta pulsando un botón (Aceptar, Cancelar, Omitir, Guardar, Cargar, etc).+Un cuadro de diálogo es toda aquella ventana que me muestra una información y tiene botones a través de los cuales se da una respuesta pulsando un botón (Aceptar, Cancelar, Omitir, Guardar, Cargar, etc).
  
 ===== JFileChooser ===== ===== JFileChooser =====
 +{{ :bloque4:jfilechooser.png?280|}}
 La clase JFileChooser permite crear cuadros de diálogo para seleccionar ficheros, por ejemplo para las operaciones de guardar o abrir ficheros. La clase JFileChooser permite crear cuadros de diálogo para seleccionar ficheros, por ejemplo para las operaciones de guardar o abrir ficheros.
 +
 +Para crear una instancia usaremos:
 <code java> <code java>
-JFileChooser selector = new JFileChooser(); +JFileChooser selector = new JFileChooser();  
-selector.showOpenDialog();+ 
 +int opcion = selector.showOpenDialog(null); 
 +if(opcion == JFileChooser.APPROVE_OPTION){ //Ha pulsado “Aceptar”  
 +   File fichero = selector.getSelectedFile() 
 +   // Procesamos fichero 
 +}
 </code> </code>
 +__Métodos principales:__
 +  * ''showOpenDialog(null)'' : Abre un cuadro de dialogo de apertura de fichero.
 +  * ''showSaveDialog(null)'' : Abre un cuadro de dialogo de guardado de fichero.
 +  * ''setCurrentDirectory(String ruta)'' : Establece la ruta en la que se abre el cuadro de dialogo.
 +  * ''getSelectedFile()'' : Devuelve un objeto File con el fichero seleccionado.
 +
 +Referencias: https://docs.oracle.com/javase/tutorial/uiswing/components/filechooser.html
  
 ===== JOptionPane ===== ===== JOptionPane =====
Línea 14: Línea 29:
 ==== Mostrar Mensajes ==== ==== Mostrar Mensajes ====
 {{ :bloque4:showmessagedialog.png?200|}} {{ :bloque4:showmessagedialog.png?200|}}
-El método **showMessageDialog()** recibe como mínimo 2 parámetros, el objeto del que depende y el mensaje. El primer parámetro puede ser //null// y siempre se mostrará sobre la ventana que lo lanza.+El método ''showMessageDialog()'' recibe como mínimo 2 parámetros, el objeto del que depende y el mensaje.  
 + 
 +El primer parámetro puede ser //null// y siempre se mostrará sobre la ventana que lo lanza.
 Si se indican más parámetros se puede modificar el título de la ventana y el icono que muestra. Si se indican más parámetros se puede modificar el título de la ventana y el icono que muestra.
 <code java> <code java>
-JOptionPane.showMessageDialog(null, Tu programa te saluda);+JOptionPane.showMessageDialog(null, "Tu programa te saluda");
 </code> </code>
  
 ==== Introducir texto ==== ==== Introducir texto ====
 {{ :bloque4:showinputdialog.png?200|}} {{ :bloque4:showinputdialog.png?200|}}
-Si lo que queremos es pedir datos al usuario mediante una ventana de dialogo, usaremos el método **showInputDialog()**. El parámetro que recibe el método es un String con el mensaje que queremos mostrar. El texto que introduce el usuario es devuelto como tipo String por este método:+Si lo que queremos es pedir datos al usuario mediante una ventana de dialogo, usaremos el método ''showInputDialog()'' 
 + 
 +El método recibe el objeto padre (puede ser null) y un String con el mensaje que queremos mostrar. El texto que introduce el usuario es devuelto como tipo String por este método:
 <code java> <code java>
 String nombre = JOptionPane.showInputDialog(null, "Introduce tu nombre"); String nombre = JOptionPane.showInputDialog(null, "Introduce tu nombre");
Línea 30: Línea 49:
 {{ :bloque4:showconfirmdialog.png?200|}} {{ :bloque4:showconfirmdialog.png?200|}}
 Si lo que queremos es pedir la confirmación del usuario para realizar algo, podemos usar el método  Si lo que queremos es pedir la confirmación del usuario para realizar algo, podemos usar el método 
-**showConfirmDialog()**. Este método devuelve un int: 0,1 ó 2, dependiendo de la respuesta del usuario.  +''showConfirmDialog()'' 
-(0 = Si; 1 = No; 2 = Cancelar)+ 
 +Este método devuelve un int: 0,1 ó 2, dependiendo de la respuesta del usuario. (0 = Si; 1 = No; 2 = Cancelar)
 Recibe como parámetro la referencia a la ventana padre (podemos indicar null) y el String con el mensaje a mostrar: Recibe como parámetro la referencia a la ventana padre (podemos indicar null) y el String con el mensaje a mostrar:
 <code java> <code java>
-int respuesta; +int respuesta = JOptionPane.showConfirmDialog(null,"¿Desea eliminar este elemento?");
-respuesta = JOptionPane.showConfirmDialog(null,"¿Desea eliminar este elemento?");+
 </code> </code>
  
 ==== Seleccionar una opción ==== ==== Seleccionar una opción ====
 {{ :bloque4:showoptiondialog.png?200|}} {{ :bloque4:showoptiondialog.png?200|}}
-Con el método **showOptionDialog()** podemos ofrecer una serie de botones para seleccionar una opción en concreto.+Con el método ''showOptionDialog()'' podemos ofrecer una serie de botones para seleccionar una opción en concreto. 
 Es el método que más parámetros recibe, pero su uso es igual de sencillo. Debemos indicarle un array con las opciones que queremos que ofrezca. Es el método que más parámetros recibe, pero su uso es igual de sencillo. Debemos indicarle un array con las opciones que queremos que ofrezca.
  
Línea 56: Línea 76:
 Representan a las ventanas secundarias que tendrá nuestra aplicación. No son elementos que contiene la paleta, sino que los crearemos en una clase nueva como contenedor de alto nivel de tipo JDialog. Posteriormente serán llamados desde nuestra aplicación ante un evento (p.e. pulsar un botón). Se crean de la misma forma que una ventana basada en un JFrame, y su clase será instanciada desde algún método de la ventana principal. Representan a las ventanas secundarias que tendrá nuestra aplicación. No son elementos que contiene la paleta, sino que los crearemos en una clase nueva como contenedor de alto nivel de tipo JDialog. Posteriormente serán llamados desde nuestra aplicación ante un evento (p.e. pulsar un botón). Se crean de la misma forma que una ventana basada en un JFrame, y su clase será instanciada desde algún método de la ventana principal.
  
-Los cuadro **JFileChooser** o **JOptionPane** representan cuadros de diálogo.+Los elementos **JFileChooser** o **JOptionPane** son instancias de JDialog.
  
-La peculiaridad que tienen es que tienen una opción que permite definirlos como ventanas modales. Esto quiere decir que permiten bloquear el uso y acceso al resto de la aplicación mientras están abiertos.+La peculiaridad que tienen es que permiten ser definidas como ventanas modales. Esto quiere decir que permiten bloquear el uso y acceso al resto de la aplicación mientras están abiertos.
 <code java> <code java>
 setModal(true); setModal(true);
 </code> </code>
  
-==== Crear un JDialog ====+==== Crear un JDialog a medida====
 Para crear un cuadro de diálogo accedo al menú de WindowBuilder y selecciono crear un elemento JDialog. Para crear un cuadro de diálogo accedo al menú de WindowBuilder y selecciono crear un elemento JDialog.
 Automáticamente se me genera una clase con el código referente a la creación de dicho diálogo. Se crea una cuadro genérico con dos botones (Aceptar, Cancelar).  Automáticamente se me genera una clase con el código referente a la creación de dicho diálogo. Se crea una cuadro genérico con dos botones (Aceptar, Cancelar). 
Línea 70: Línea 90:
  
 {{ :bloque4:jdialog.png?500 |}} {{ :bloque4:jdialog.png?500 |}}
 +Puedo añadir todos los componentes que quiera del mismo modo que a un JFrame (Ventana principal del programa).
  
-Posteriormente puedo crear mi cuadro de diálogo, llamando a su constructor:+Posteriormente puedo crear mi cuadro de diálogo (JDialog), llamando a su constructor:
 <code java> <code java>
 MiDialogo cuadro = MiDialogo(); MiDialogo cuadro = MiDialogo();
bloque4/dialogos.1520000165.txt.gz · Última modificación: 16/09/2024 20:53 (editor externo)