martes, 17 de diciembre de 2013

Cuadros de Dialogo en Java! ( JOptionPane )

 

 

CUADROS DE DIALOGO EN JAVA

 import javax.swing.JOptionPane;


De la clase JOptionPane de la biblioteca swing podemos utilizar 4 métodos para mostrar mensajes en pantalla como lo haríamos con un alert() en javascript, aqui algunos ejemplos con su código.
  1.  showMessageDialog()
  2. showInputDialog()
  3. showConfirmDialog()
  4. showOptionDialog()

  1. showMessageDialog()

El método static: showMessageDialog();  se utiliza para mostrar mensajes de dialogo como lo haríamos con un alert en javascript, recibe como mínimo 2 argumentos el primero es el Componente padre (el frame donde se está llamando) puede ponerse "this" o si estamos en el método main podemos poner null, el segundo argumento que hay que pasarle es el mensaje a mostrar "Mensaje" (una cadena de caracteres), como el método es static y no retorna ningun valor (void) se puede mandar llamar de la siguiente forma: 



JOptionPane.MessageDialog(null,"Hola soy un mensaje!");





import javax.swing.JOptionPane;
public class prueba
{
                    public static void main(String[] args)
                    {
                        JOptionPane.showMessageDialog(null,"Hola soy un mensaje!");
                    }
}


Lo anterior es como mínimo con 2 argumentos pero se le pueden pasar hasta 4 argumentos al método static showMessageDialog()  :

JOptionPane.showMessageDialog(Component parentComponent,Mensaje ,Titulo, Tipo de mensaje );


 Component parentComponent: El frame de donde se esta llamando el método (puede quedar null).
Mensaje:  El mensaje que queremos mostrar en el cuadro de dialogo.
Titulo:  Aqui se espera un String para el titulo de la ventanita de diálogo.
Tipo de mensaje:  Es el tipo de mensaje. Éste argumento tiene que ser una constante que pueden ser:
> ERROR_MESSAGE
> INFORMATION_MESSAGE
> WARNING_MESSAGE
> QUESTION_MESSAGE
> PLAIN_MESSAGE
Probando todas las constantes:




> ERROR_MESSAGE
import javax.swing.JOptionPane;
public class prueba
{
    public static void main(String[] args)
    {
        JOptionPane.showMessageDialog(null,"Hola soy un mensaje!", 
                             "Soy un título",JOptionPane.ERROR_MESSAGE);       
       
    }
}





> INFORMATION_MESSAGE

import javax.swing.JOptionPane;
public class prueba
{
    public static void main(String[] args)
    {
        JOptionPane.showMessageDialog(null,"Hola soy un mensaje!", 
                             "Soy un título",JOptionPane.INFORMATION_MESSAGE);       
       
    }
}

 
 




 > WARNING_MESSAGE

import javax.swing.JOptionPane;
public class prueba
{
    public static void main(String[] args)
    {
        JOptionPane.showMessageDialog(null,"Hola soy un mensaje!",
                    "Soy un título",JOptionPane.WARNING_MESSAGE);       
       
    }
}








  > QUESTION_MESSAGE

import javax.swing.JOptionPane;
public class prueba
{
    public static void main(String[] args)
    {
        JOptionPane.showMessageDialog(null,"Hola soy un mensaje!",
                            "Soy un título",JOptionPane.QUESTION_MESSAGE);       
       
    }
}





> PLAIN_MESSAGE

import javax.swing.JOptionPane;
public class ej
{
    public static void main(String[] args)
    {
        JOptionPane.showMessageDialog(null,"Hola soy un mensaje!", 
                              "Soy un título",JOptionPane.PLAIN_MESSAGE);       
       
    }
}





2. showInputDialog()

 
Éste metodo también es static, nos permite obtener informacion del usuario, puede recibir desde 1 argumento hasta 7, dependiendo que tan personalizado queremos nuestro cuadro de dialogo, aqui probaremos todos los argumentos posibles que puede recibir éste método así como su valor de retorno.
>Con un argumento el método devuelve un String:
 
public static String showInputDialog(Object message)
                      
String resultado = JOptionPane.showInputDialog("Ingreasar algo");
 
import javax.swing.JOptionPane;
public class prueba
{
    public static void main(String[] args)
    {
        String resultado = JOptionPane.showInputDialog("Ingreasar algo");     
    }
}
 



>Con 2 argumentos el método devuelve un String:

public static String showInputDialog(Object message, Object initialSelectionValue)

String resultado = JOptionPane.showInputDialog("Ingreasar algo","Valor inicial");
 
import javax.swing.JOptionPane;
public class prueba
{
    public static void main(String[] args)
    {
       String resultado = JOptionPane.showInputDialog("Ingreasar algo","Valor inicial");   
    }
}  



>Otra con 2 argumentos, aqui el primer argumento puede quedar como  null, el método devuelve un String:

public static String showInputDialog(Component parentComponent, Object message)

String resultado = JOptionPane.showInputDialog(null,"Ingreasar algo");


import javax.swing.JOptionPane;
public class prueba
{
    public static void main(String[] args)
    {
       String resultado = JOptionPane.showInputDialog(null, "Ingreasar algo");   
    }

 
 
>Con 3 argumentos, igual el primer argumento puede quedar como null, el retorno de el método static es un String:
 
public static String showInputDialog(Component parentComponent, Object message, 
 Object initialSelectionValue)


String resultado = JOptionPane.showInputDialog(null,"Ingreasar algo","valor inicial");

import javax.swing.JOptionPane;
public class prueba
{
    public static void main(String[] args)
    {
      String resultado = JOptionPane.showInputDialog(null,"Ingreasar algo","valor inicial");
    }
 
>Con 7 argumentos retorno Object:
public static Object showInputDialog(Component parentComponent,
                               Object message,
                               String title,
                               int messageType,
                               Icon icon,
                               Object[] selectionValues,
                               Object initialSelectionValue)
                         

> Component parentComponent: El primer argumento es el frame 
              de donde se este llamando, puede quedar null.

> Object message: El mensaje que se desea mostrar,(las instrucciones 
             que debe seguir el usuario) como: "Ingresar una cadena"
              o "Ingresar algo".

> String title: El titulo que aparecera en la ventana como 
             "Seleccionar" etc. 
 
> int messageType: El tipo de mensaje que se va amostrar pueden  
               ser 5 constantes.
 
  1.  ERROR_MESSAGE
  2.  INFORMATION_MESSAGE
  3.  WARNING_MESSAGE
  4.  QUESTION_MESSAGE
  5.  PLAIN_MESSAGE
 
  
> Icon icon: la imagen que se desea mostrar.
 
> Object[] selectionValues: lista de posibles opciones. 

> Object initialSelectionValue: Valor por default que tendra 
                         la ventana.
 
 
 
 
ImageIcon icono = new ImageIcon("flechita.png");
Object cadena = JOptionPane.showInputDialog(null,
                "Seleccione su Género","Género",
                JOptionPane.WARNING_MESSAGE,
                icono,new Object []{"Masculino","Femenino"},
                "Masculino"); 





import javax.swing.*;
public class prueba
{
    public static void main(String[] args)
    {
      
         ImageIcon icono = new ImageIcon("flechita.png");
         Object cadena = JOptionPane.showInputDialog(null,
                          "Seleccione su Género","Género",
                           JOptionPane.WARNING_MESSAGE, 
                           icono,new Object []{"Masculino","Femenino"}, 
                          "Masculino");     
    }
}  





3. showConfirmDialog()


Este método static, pide al usuario una confirmación, retorna un entero que es la posición de las opcionesque se le muestran en el mensaje (empezando de 0 de izquierda a derecha). puede recibir como mínimo 2 argumentos y hasta 6 argumentos, dependiendo de que tan personalizado este
nuestro cuadro de diálogo.

>Con 2 argumentos: 
 
public static int showConfirmDialog(Component parentComponent,
                                    Object message)
 
  • parentComponent:  El frame de donde se esta llamando, puede quedar null.
  • message: El mensaje que se va a mostrar en el cuadro de diálogo.

int resultado = JOptionPane.showConfirmDialog(null,"Confirmar: ");
 
import javax.swing.JOptionPane;
public class prueba
{
	public static void main(String[] args)
	{
		int resultado = JOptionPane.showConfirmDialog(null,"Confirmar: ");
	}
}
 
 
 
Si pulsamos "" el método retorna 0
Si pulsamos "No" el método retorna 1
Si pulsamos "Cancelar" el método retorna 2
Si pulsamos la tachita de cerrar el método retorna -1


> Método showConfirmDialog() con 4 argumentos: 
 
public static int showConfirmDialog(Component parentComponent,
                                    Object message,
                                    String title,
                                    int optionType)
 
 
 
  • parentComponent:  El frame de donde se esta llamando, puede quedar null. 
    
    
  • message: El mensaje que se va a mostrar en el cuadro de diálogo.
     
  • title: El titulo que tedrá el cuadro de diálogo. 
     
  • optionType:  tipo de opción, pueden ser 4 constantes: 
     
    • DEFAULT_OPTION
    • YES_NO_OPTION
    • YES_NO_CANCEL_OPTION
    • OK_CANCEL_OPTION
     
     
      
    Probando todas las constantes:  
     
    •  DEFAULT_OPTION
       
      import javax.swing.JOptionPane;
      public class prueba
      {
      	public static void main(String[] args)
      	{ 
            int resultado = JOptionPane.showConfirmDialog(null,
                                 "Confirmar: ","Soy un titulo",
                                 JOptionPane.DEFAULT_OPTION); 
      	} 
      }
       
       
       
       
       
       
    •  YES_NO_OPTION
       
       
      import javax.swing.JOptionPane;
      public class prueba
      {
      	public static void main(String[] args)
      	{ 
            int resultado = JOptionPane.showConfirmDialog(null,
                                 "Confirmar: ","Soy un titulo",
                                 JOptionPane.YES_NO_OPTION); 
      	} 
      }
       
       
       
     
    • YES_NO_CANCEL_OPTION
       
       
       
      import javax.swing.JOptionPane;
      public class prueba
      {
      	public static void main(String[] args)
      	{ 
            int resultado = JOptionPane.showConfirmDialog(null,
                                 "Confirmar: ","Soy un titulo",
                                 JOptionPane.YES_NO_CANCEL_OPTION); 
      	} 
      }
       
       
       
    • OK_CANCEL_OPTION 

    import javax.swing.JOptionPane;
    public class prueba
    {
    	public static void main(String[] args)
    	{ 
          int resultado = JOptionPane.showConfirmDialog(null,
                               "Confirmar: ","Soy un titulo",
                               JOptionPane.OK_CANCEL_OPTION); 
    	} 
    }
     
     
     
    >Metodo showConfirmDialog() con 5 argumentos:
     
    public static int showConfirmDialog(Component parentComponent,
                                        Object message,
                                        String title,
                                        int optionType,
                                        int messageType) 
    
    
    
    
    
    
    import javax.swing.JOptionPane;
    public class prueba
    {
    	public static void main(String[] args)
    	{ 
           int resultado = JOptionPane.showConfirmDialog(null,
    "Confirmar:" , "Soy un titulo" , 
    JOptionPane.OK_CANCEL_OPTION , JOptionPane.WARNING_MESSAGE) 
                    }
    }
    
    
    
    
    
    
    >Metodo showConfirmDialog() con 6 argumentos:
     
     
    public static int showConfirmDialog(Component parentComponent,
                                       Object message,
                                       String title,
                                       int optionType,
                                       int messageType,
                                       Icon icon) 
    
    
    
    
    
    
    • parentComponent: el frame de donde se esta llamando puede quedar null.
    • message: el mensaje que se mostrara en el cuadro de diálogo.
    • title: el titulo que aparecerá en el cuadro de dialogo.
    • optionType: tipo de opcion puede ser 4 constantes: 
      • DEFAULT_OPTION
      • YES_NO_OPTION
      • YES_NO_CANCEL_OPTION
      • OK_CANCEL_OPTION
       
    • messageType: tipo de mensaje pueden ser 5 constantes:
       
      •  ERROR_MESSAGE 
      •  INFORMATION_MESSAGE 
      •  WARNING_MESSAGE 
      •  QUESTION_MESSAGE 
      •  PLAIN_MESSAGE 
      
      
    • icon: la imagen que aparecerá en el cuadro de diálogo.
      
      
      Ejemplo: 
       
      import javax.swing.*;
      public class ej
      {
      	public static void main(String[] args)
      	{
      		ImageIcon flechita = new ImageIcon("flechita.png");
      		int resultado = JOptionPane.showConfirmDialog(null,
                                           "Confirmar: ","Soy un titulo",
                                            JOptionPane.OK_CANCEL_OPTION,
                                            JOptionPane.WARNING_MESSAGE,
                                            flechita);
      		
      	}
      }
      
      
      
      
      
      
       
       
       

      4. showOptionDialog()

       
      Este metodo static devuelve un int, que es el índice de el array de las opciones que nosotros especifiquemos (empezando desde 0 de izquierda a derecha)                                                                                    
      public static int showOptionDialog(Component parentComponent,
                                         Object message,
                                         String title,
                                         int optionType,
                                         int messageType,
                                         Icon icon,
                                         Object[] options,
                                         Object initialValue)
       
      Component parentComponent: es el frame de donde se esta llamando
                                 puede quedar null.
       
      Object message: el mensaje que vamos a mostrar en el cuadro
                      de diálogo.
       
      String title: el titulo que tendrá el cuadro de diálogo.
       
      int optionType: el tipo de opcion pueden ser 4 constantes: 
      • DEFAULT_OPTION
      • YES_NO_OPTION
      • YES_NO_CANCEL_OPTION
      • OK_CANCEL_OPTION
       
       
      int messageType: el tipo de mensaje pueden ser 5 constantes: 
      • ERROR_MESSAGE
      • INFORMATION_MESSAGE
      • WARNING_MESSAGE
      • QUESTION_MESSAGE
      • PLAIN_MESSAGE
       
       
      Icon icon: la imagen que se mostrará en el cuadro de diálogo.
       
      Object[] options: el array de las opciones que queramos mostrar
               (el método retorna la posicion de el elemento elegido).
       
       
      Object initialValue: el valor inicial o por default del array options.
       
       
       
       Ejemplo: 
       
       
      import javax.swing.*;
      public class prueba
      {
      	public static void main(String[] args)
      	{
      		ImageIcon flecha = new ImageIcon("flechita.png");
      		int resultado = JOptionPane.showOptionDialog(null,
                                       "Seleccionar ","Soy un Titulo",
                                     JOptionPane.YES_NO_CANCEL_OPTION,
                                     JOptionPane.PLAIN_MESSAGE,flecha,
                  new Object[] {"Opcion 1","Opcion 2","Opcion 3","Opcion 4"},
                                   "Opcion 1");
      		
      		
      	}
      }
       
       
       
       
        
       
       
       
      Retorna un entero que seria el índice de el elemento que presionemos,
      por ejemplo:
       si presionamos "Opcion 1" retorna 0
       si presionamos "Opcion 2" retorna 1
       si presionamos "Opcion 3" retorna 2
       si presionamos "Opcion 4" retorna 3
       si presionamos la tachila "x" de salir retorna un -1 
       
       
       
       
       
       
       
       
       
       
       
       
       
       

No hay comentarios:

Publicar un comentario