2012-02-02 27 views
100

Procedente de .NET, estoy tan acostumbrado a llamar a Alert() en las aplicaciones de escritorio. Sin embargo, en esta aplicación de escritorio Java, sólo quiero alertar a un mensaje que dice "gracias por el uso de Java" Tengo que pasar por esto mucho sufrimiento:¿Cómo se presenta un mensaje de alerta simple en java?

(utilizando un JOptionPane)

¿Hay una manera más fácil?

+10

¿Qué es exactamente lo que espera de "más fácil"? Si se trata de la verbosidad, ¿por qué no simplemente envolverlo en algún método de utilidad estática y esconderlo, por ejemplo? Por cierto, el tutorial oficial es [aquí] (http://docs.oracle.com/javase/tutorial/uiswing/components/dialog.html). – BalusC

+5

Si lee la documentación en lugar de los tutoriales de 12 años seguidos de quejas inmediatas, descubrirá que hay una sobrecarga con solo dos parámetros: http://docs.oracle.com/javase/7/docs/api/javax /swing/JOptionPane.html#showMessageDialog(java.awt.Component, java.lang.Object). (El primero de los cuales puede ser nulo.) – millimoose

Respuesta

185

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

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

Si estáticamente importar JOptionPane.showMessageDialog esto reduce aún más a

showMessageDialog(null, "This language just gets better and better!"); 
+27

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

+10

@mre Supongo que esto es una broma o estás malinterpretando "verbosidad"? –

+4

Ni tampoco, es una opinión. – mre

31

Asumiendo que ya tiene un JFrame llamar esto desde:

JOptionPane.showMessageDialog(frame, "thank you for using java"); 

Ver The Java Tutorials: How to Make Dialogs
Ver the JavaDoc

+3

El primer argumento puede ser' nulo' si no tiene un 'JFrame' disponible. –

+3

Nota (a quien corresponda): 'JOptionPane' está en' javax.swing' –

21

Incluso sin importar el swing, se puede obtener la llamada en uno, todo sea larga, cadena. De lo contrario, simplemente use la importación swing y una simple llamada:

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

Bastante fácil.

20

Si no te gusta "verbosidad" siempre se puede envolver su código en un corto método:

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

y el Uso:

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

llamada "setWarningMsg()" Método 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 utilizar

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 

Usted puede utilizar JOptionPane. (WARNING_MESSAGE o INFORMATION_MESSAGE o ERROR_MESSAGE)

Cuestiones relacionadas