Comment présenter un simple message d'alerte en java?


128

Venant de .NET, je suis tellement habitué à appeler Alert () dans les applications de bureau. Cependant, dans cette application de bureau java, je veux juste alerter un message disant "merci d'utiliser java", je dois traverser autant de souffrances:

(en utilisant un JOptionPane)

Y a-t-il un moyen plus simple?


10
Qu'attendez-vous exactement de «plus facile»? Si c'est la verbosité, pourquoi ne pas simplement l'envelopper dans une méthode utilitaire statique et la cacher, par exemple? Au fait, le tutoriel officiel est ici .
BalusC

5
Si vous lisez la documentation au lieu de tutoriels vieux de 12 ans suivis de plaintes immédiates, vous découvrirez qu'il y a [une surcharge avec seulement deux paramètres: docs.oracle.com/javase/7/docs/api/javax/swing/… , java.lang.Object). (Le premier peut être nul.)
millimoose

Réponses:


240

Je serai le premier à admettre que Java peut être très verbeux, mais je ne pense pas que ce soit déraisonnable:

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

Si vous importez de manière statique en javax.swing.JOptionPane.showMessageDialogutilisant:

import static javax.swing.JOptionPane.showMessageDialog;

Cela se réduit encore à

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

34
Rien de mal à la verbosité. En fait, je considère que c'est l'une de ses forces.
mre

14
@mre je suppose que c'est soit une blague, soit vous ne comprenez pas bien la "verbosité"?
Dónal

36
@mre à moins que vous n'ayez besoin de la pratique de la dactylographie pour passer à un travail de secrétariat, je ne vois pas à quel point la verbosité est souhaitable.
Dónal

5
@ Dónal Quand une chose simple prend une page entière de code pour fonctionner, cela crée vraiment beaucoup d'emplois supplémentaires pour les gens! :)
Evgeni Sergeev

5
@Alids pour utiliser la deuxième version, vous devez ajouter ce qui suit à vos importationsimport static javax.swing.JOptionPane.showMessageDialog
Dónal


31

Si vous n'aimez pas la "verbosité", vous pouvez toujours envelopper votre code dans une méthode courte:

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

et l'utilisation:

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

24

Même sans importer de swing, vous pouvez recevoir l'appel en une seule chaîne, qu'elle soit longue. Sinon, utilisez simplement l'importation swing et un simple appel:

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

Assez facile.


6

Appelez la méthode "setWarningMsg ()" et transmettez le texte que vous souhaitez afficher.

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);
}

Ou utilisez simplement

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

Vous pouvez utiliser JOptionPane. (WARNING_MESSAGE ou INFORMATION_MESSAGE ou ERROR_MESSAGE)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.