Seguidores

MIS WEBS



viernes, 23 de marzo de 2018

COMO CREAR CUADROS DE DIÁLOGO (VENTANAS EMERGENTES)


MENSAJES DE JAVA SWING

Que son las ventanas emergentes

Cuando  trabajamos con una aplicación gráfica, en ocasiones el  programa nos tiene que lanzar una venta en la que nos genera un aviso. Aquellos que conozcáis aplicaciones como Excel o Acces supongo que estaréis familiarizados con este tipo de avisos.

Tipos de ventanas emergentes

Cuadros de diálogo

Los utilizaremos cuando necesitemos que el programa nos lance un cuadro con mensaje indicándonos que no funciona algo, que no importa bien los datos, que va a cerrarse o cualquier otra cosa.
También nos pueden resultar necesario cuando nuestro programa, en un momento dado, necesite lanzar cuadro solicitando al usuario introducir un dato en el sistema.
Para ello necesitaremos utilizar la clase JOptionPane.

CLASE JOptionPane


Que métodos tiene JOptionPane

Entro otros los más utilizados pueden ser los siguientes

showImputDialog()

Será utilizada por el usuario  para introducir un dato tipo String en nuestro programa, en caso de ser un dato de tipo número (int,long…) o boleano, necesitaríamos realizar una refundición o conversión de tipo de dato.
Si no recordáis como se realizaba pulsar aquí :      como hacer una refundición o casting


Constructor
JOptionPane.showImputDialog(Component parentComponent, Object message,String titel,int messagetipe);



  • parentComponent:  Objeto que desencadenará la acción (oyente). Puede ser un botón de una lámina, la lámina en si, el ratón cualquier objeto
  • Message: texto que ponemos como mensaje tiene que ser un String.
  • Title: titulo del marco
  • Mesagetipe: Existen diferentes tipos de mensaje (pregunta,warning…..) elegiremos uno de ellos.
Podemos elegir entre introducir un integer entre 0 y 4
Pero también podemos hacer así:
                   0. JOptionPane.Error_Message
         1. JOptionPane.Information_Message
         2.  JOptionPane.Warning_Message
         3. JOptionPane.Question_Message
         4.  JOPtionPane.Plain_Message



Ejemplo:

JOptionPane.showInputDialog(Bt_showImputDialog, "Ejemplo de showImputDialog", "ejercicios java", 3);





showMessageDialog()

La utilizaremos para lanzar un mensaje a nuestro usuario.

Constructor
JOptionPane.showMessageDialog(Component parentComponent, Object message,String titel,int messagetipe);


  • parentComponent:  Objeto que desencadenará la acción (oyente). Puede ser un botón de una lámina, la lámina en si, el ratón cualquier objeto
  • Message: texto que ponemos como mensaje tiene que ser un String.
  • Title: titulo del marco
  • Mesagetipe: Existen diferentes tipos de mensaje (pregunta,warning…..) elegiremos uno de ellos.



Ejemplo:
JOptionPane.showMessageDialog(Bt_showMessageDialog, "Ejemplo de ShowMessageDialog", "ejercio de practica", JOptionPane.WARNING_MESSAGE);

showConfirmDialog()

La utilizaremos para lanzar un mensaje a nuestro usuario y pedirle que elija entre dos opciónes la que desea (si/no; Continuar/cancelar; Guardar/Cancelar……)

Constructor:
JOptionPane.showConfirmDialog(Component parentComponent,
      Object message, String title, int optionType, int messageType, Icon icon)



  • parentComponent:  Objeto que desencadenará la acción (oyente). Puede ser un botón de una lámina, la lámina en si, el ratón cualquier objeto
  • Message: texto que ponemos como mensaje tiene que ser un String.
  • Title: titulo del marco
  • Mesagetipe: Existen diferentes tipos de mensaje (pregunta,warning…..) elegiremos uno de ellos.
  • Icon: Imágen que deseemos incluir como icono.
  • optionType :  Pondremos un número entre el 0 y el 2
·         Si ponemos 0 nos cargarán dos botones si/no
·         Si ponemos 1 nos cargarán tres botones si/no/cancelar
·         Si ponemos 2 apareceran dos botones aceptar/cancelar


Ejemplo:
JOptionPane.showConfirmDialog(Bt_showConfirmDialog, "ejemplo de ShowConfirmDialog", "ejercicio java", 2, 0, new ImageIcon("C:\\Users\\dagip\\Desktop\\ddddddddddd\\src/SALIR.jpg"));


ShowOptionDialog()

Nuestro usuario revivirá un mensaje de dialogo y podrá elegir entre varias opciones y también podrá introducir un texto. Podremos hacer todo lo que hacen los anteriores.


Constructor:
JOptionPane.showOptionDialog(Component parentComponent, Object message, String title, int optionType, int messageType, Icon icon, Object[] options, Object initialValue)



  • parentComponent:  Objeto que desencadenará la acción (oyente). Puede ser un botón de una lámina, la lámina en si, el ratón cualquier objeto
  • Message: texto que ponemos como mensaje tiene que ser un String.
  • Title: titulo del marco
  • Mesagetipe: Existen diferentes tipos de mensaje (pregunta,warning…..) elegiremos uno de ellos.
  • Icon: Imágen que deseemos incluir como icono.
  • optionType :  Pondremos un número entre el 0 y el 2
    • ·         Si ponemos 0 nos cargarán dos botones si/no
    • ·         Si ponemos 1 nos cargarán tres botones si/no/cancelar
    • ·         Si ponemos 2 apareceran dos botones aceptar/cancelar
  • Options: Array en la que podremos cargar en un array objetos. En mi caso escojo un array de String en el que cargaré los nombres de los botones
  • InitialValue: En que botón sale el foco por defecto.
Ejemplo:
JOptionPane.showOptionDialog(Bt_ShowOptionDialog, "ejemplo ShowOptionDialog", "ejemplo java", 2, 1, (new ImageIcon("C:\ \Users\\dagip\\Desktop\x\\src/SUBRAYAR.gif"))  , new String[] {"te gusta","no te gusta"}, 1);






Ejercício de JoptionPane


En el siguiente ejercicio crearemos un frame con una lámina en la que introduciremos  4 botones y los ponderemos a la escucha para que cada uno de ellos nos haga aparecer un cuadro de dialogo diferente. He decido cargar los botones utilizando un array en el que cargo los botones ese array lo introduzco en un  bucle for each y así lo utilizo para cargar los botones a la lámina y ponerlos a la escucha ahorrando líneas de código y poniendo en practica conceptos que voy aprendiendo. Luego creo un oyente y utilizo un if para que cada botón haga salta un JOptionPane diferente así vemos como funciona cada uno de los cuatro métodos que tengo en los apuntes.

En el siguiente vídeo dejo una explicación gráfica de como lo he realizado todo y un poco más bajo os dejo el código, por si lo queréis tener.





public class UsosDeJOptionPane {
        public static void main(String[] args) {
                MarcoJOptionPane MarcoPanelEmergentes = new MarcoJOptionPane();
                MarcoPanelEmergentes.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                   MarcoPanelEmergentes.setTitle("CON ESTE MARCO APRENDEREMOS A CREAR LOS 4 METODOS de JOptionPane");
                MarcoPanelEmergentes.setVisible(true);        
        }
}
class MarcoJOptionPane extends JFrame{
        public MarcoJOptionPane() {
                setBounds(600,200,700,300);
                LaminaJOptionPane c = new LaminaJOptionPane();
                add(c);
        }
}
class LaminaJOptionPane extends JPanel{
        public LaminaJOptionPane() {
                Bt_showImputDialog = new JButton("showImputDialog");
                Bt_showMessageDialog = new JButton("showMessageDialog");
                Bt_showConfirmDialog = new JButton("showConfirmDialog");
                Bt_ShowOptionDialog = new JButton("ShowOptionDialog");
                Carga_BOTONES= new JButton[]{Bt_showImputDialog,Bt_showMessageDialog,Bt_showConfirmDialog,Bt_ShowOptionDialog};
                int n=0,x=10;
                for (JButton i: Carga_BOTONES) {
                        Carga_BOTONES[n].addActionListener(new OyenteBotones());
                        add(Carga_BOTONES[n]);
                        n++;
                }      
        }
private JButton Bt_showImputDialog,Bt_showMessageDialog,Bt_showConfirmDialog,Bt_ShowOptionDialog,Carga_BOTONES[];
        private class OyenteBotones implements ActionListener{
                public void actionPerformed(ActionEvent e) {
                        if (e.getSource()==Bt_showMessageDialog) {
        JOptionPane.showMessageDialog(Bt_showMessageDialog, "Ejemplo de ShowMessageDialog", "ejercio de practica",1);
                        }else if (e.getSource()==Bt_showImputDialog) {
        JOptionPane.showInputDialog(Bt_showImputDialog, "Ejemplo de showImputDialog", "ejercicios java", 3);
                        }else if (e.getSource()==Bt_showConfirmDialog) {
        JOptionPane.showConfirmDialog(Bt_showConfirmDialog, "ejemplo de ShowConfirmDialog", "ejercicio java", 2, 0, new ImageIcon("C:\\Users\\dagip\\Desktop\\x\\src/SALIR.jpg"));
                               /* 0 si/no  **** 1 si/no/cancelar  ***** 2 aceptar/cancelar*/ 
                        }else if (e.getSource()==Bt_ShowOptionDialog) {
JOptionPane.showOptionDialog(Bt_ShowOptionDialog, "ejemplo ShowOptionDialog", "ejemplo java", 2, 1, (new ImageIcon("C:\Users\dagip\Desktop\x\src/SUBRAYAR.gif")), new String[] {"te gusta","no te gusta"}, 1);
                        }
                }
               
        }      
}




ESPERO QUE OS GUSTE, UN SALUDO A TODOS/AS



No hay comentarios:

Publicar un comentario

Buscar este blog

Sandisk y Western Digital