En swing existen dos tipos de diálogo: aquellos que hay que construir desde 0 y aquellos que están preconstruidos y tan solo hay que indicarles las opciones que tienen que integrar.
Diálogo de información
Aquellos que tan solo muestran un mensaje. Usados para dar feedbak al usuario
//componente padre, mensaje, título, tipo (icono), icono JOptionPane.showMessageDialog(VentanaPrincipal.this,"Mensaje info", "Título",JOptionPane.INFORMATION_MESSAGE,null); }
Este tipo de mensaje no tiene ninguna salida al ser solamente de información
Diálogo de warning
Muy parecido al anterior, con la diferencia del icono (en tipo de mensaje)
//componente padre, mensaje, título, tipo (icono), icono JOptionPane.showMessageDialog(VentanaPrincipal.this,"Mensaje warn", "Título",JOptionPane.WARNING_M
Diálogo de error
JOptionPane.showMessageDialog(VentanaPrincipal.this,"Mensaje error", "Título",JOptionPane.ERROR_MESSAGE,null);
Diálogo de opciones
Diálogo con interacción directa del usuario al elegir una opción concreta. La salida de este dialogo será un entero correspondiente al orden de la opción elegida
String[]opciones = {"Opció 1", "Opción 2","Opción 3"}; dialogoOpcionesButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { //componente padre, mensaje, titulo, tipo, tipo (icono), icono, opciónes, opción por ddefecto int op = JOptionPane.showOptionDialog(VentanaPrincipal.this,"Mensaje","Título",JOptionPane.YES_NO_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE,null,opciones,opciones[0]); System.out.println(op); } });
Diálogo SI / NO
JOptionPane.showConfirmDialog(VentanaPrincipal.this,"Mensaje","Título",JOptionPane.YES_NO_CANCEL_OPTION);
Diálogo entrada
JOptionPane.showInputDialog(VentanaPrincipal.this,"Mensaje", "Título", JOptionPane.QUESTION_MESSAGE);
Diálogo entrada con spinner
JOptionPane.showInputDialog(null, "Mensaje", "Título", JOptionPane.QUESTION_MESSAGE, null, new String[] { "Opción 1","Opción 2", "Opción 3","Opción 4","Opción 5" },"Opción 1");