¿Cómo presentar un mensaje de alerta simple en Java?


128

Viniendo de .NET, estoy tan acostumbrado a llamar a Alert () en aplicaciones de escritorio. Sin embargo, en esta aplicación de escritorio de Java, solo quiero alertar un mensaje que dice "gracias por usar Java". Tengo que pasar por este sufrimiento:

(usando un JOptionPane)

hay una manera mas facil?


10
¿Qué esperas exactamente de "más fácil"? Si es la verbosidad, ¿por qué no simplemente envolverlo en algún método de utilidad estática y ocultarlo, por ejemplo? Por cierto, el tutorial oficial está aquí .
BalusC

55
Si lee la documentación en lugar de los tutoriales de 12 años seguidos de una queja inmediata, descubrirá que hay [una sobrecarga con solo dos parámetros: docs.oracle.com/javase/7/docs/api/javax/swing/… , java.lang.Object). (El primero de los cuales puede ser nulo.)
millimoose

Respuestas:


240

Seré el primero en admitir que Java puede ser muy detallado, pero no creo que esto no sea razonable:

JOptionPane.showMessageDialog(null, "My Goodness, this is so concise");

Si importa estáticamente javax.swing.JOptionPane.showMessageDialogusando:

import static javax.swing.JOptionPane.showMessageDialog;

Esto se reduce aún más a

showMessageDialog(null, "This is even shorter");

34
No hay nada malo con la verbosidad. De hecho, considero que uno de sus puntos fuertes.
mre

14
@mre ¿Supongo que esto es una broma o no estás entendiendo "verbosidad"?
Dónal

36
@mre a menos que necesite la práctica de mecanografía para la transición a un trabajo de secretaria, no veo cómo es deseable la verbosidad.
Dónal

55
@ Dónal Cuando algo simple toma una página entera de código para funcionar, ¡eso realmente crea muchos trabajos adicionales para las personas! :)
Evgeni Sergeev

55
@Alids para usar la segunda versión, debe agregar lo siguiente a sus importacionesimport static javax.swing.JOptionPane.showMessageDialog
Dónal


31

Si no le gusta la "verbosidad", siempre puede ajustar su código en un método breve:

private void msgbox(String s){
   JOptionPane.showMessageDialog(null, s);
}

y el uso:

msgbox("don't touch that!");

24

Incluso sin importar swing, puede recibir la llamada en una, ya sea larga, cadena. De lo contrario, solo use la importación de swing y la llamada simple:

JOptionPane.showMessageDialog(null, "Thank you for using Java", "Yay, java", JOptionPane.PLAIN_MESSAGE);

Suficientemente fácil.


6

Llame al método "setWarningMsg ()" y pase el texto que desea mostrar.

exm:- setWarningMsg("thank you for using java");


public static void setWarningMsg(String text){
    Toolkit.getDefaultToolkit().beep();
    JOptionPane optionPane = new JOptionPane(text,JOptionPane.WARNING_MESSAGE);
    JDialog dialog = optionPane.createDialog("Warning!");
    dialog.setAlwaysOnTop(true);
    dialog.setVisible(true);
}

O simplemente use

JOptionPane optionPane = new JOptionPane("thank you for using java",JOptionPane.WARNING_MESSAGE);
JDialog dialog = optionPane.createDialog("Warning!");
dialog.setAlwaysOnTop(true); // to show top of all other application
dialog.setVisible(true); // to visible the dialog

Puedes usar JOptionPane. (WARNING_MESSAGE o INFORMATION_MESSAGE o ERROR_MESSAGE)

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.