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
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
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:
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
ESPERO QUE OS GUSTE, UN SALUDO A TODOS/AS
No hay comentarios:
Publicar un comentario