Como apresentar uma mensagem de alerta simples em java?

128

Vindo do .NET, estou acostumado a chamar Alert () em aplicativos de desktop. No entanto, neste aplicativo de desktop java, eu só quero alertar uma mensagem dizendo "obrigado por usar o java". Tenho que passar por tanto sofrimento:

(usando um JOptionPane)

Existe uma maneira mais fácil?

Haoest
fonte
10
O que exatamente você espera do "mais fácil"? Se for a verbosidade, por que não apenas envolvê-lo em algum método de utilitário estático e escondê-lo, por exemplo? A propósito, o tutorial oficial está aqui .
precisa saber é o seguinte
5
Se você ler a documentação em vez dos tutoriais de 12 anos seguidos por reclamações imediatas, descobrirá que há [uma sobrecarga com apenas dois parâmetros: docs.oracle.com/javase/7/docs/api/javax/swing/… , java.lang.Object). (A primeira das quais pode ser nula.)
millimoose

Respostas:

240

Serei o primeiro a admitir que o Java pode ser muito detalhado, mas não acho que isso seja irracional:

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

Se você importar estaticamente javax.swing.JOptionPane.showMessageDialogusando:

import static javax.swing.JOptionPane.showMessageDialog;

Isso reduz ainda mais a

showMessageDialog(null, "This is even shorter");
Dónal
fonte
34
Nada de errado com a verbosidade. De fato, considero esse um dos seus pontos fortes.
mre
14
@ Acho que isso é uma piada ou você está entendendo mal a "verbosidade"?
Dónal
36
@re, a menos que você precise da prática de digitação para fazer a transição para um trabalho de secretária, não vejo como a verbosidade é desejável.
Donal
5
@ Dónal Quando algo simples requer uma página inteira de código para começar a trabalhar, isso realmente cria muitos empregos extras para as pessoas! :)
Evgeni Sergeev
5
@Alids usar a segunda versão, você precisa adicionar o seguinte ao seu importaçõesimport static javax.swing.JOptionPane.showMessageDialog
Donal
38

Supondo que você já tenha um JFrame para chamar isso de:

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

Consulte Os tutoriais de Java: como criar caixas de diálogo
Consulte o JavaDoc

Bill the Lizard
fonte
4
O primeiro argumento pode ser nullse você não tiver um JFramedisponível.
de Drew Noakes
5
Nota (a quem possa interessar): JOptionPaneestá dentrojavax.swing
Evgeni Sergeev
31

Se você não gosta de "verbosidade", sempre pode agrupar seu código em um método breve:

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

e o uso:

msgbox("don't touch that!");
Joe Cotton
fonte
24

Mesmo sem importar o swing, você pode receber a chamada em uma única seqüência, seja ela longa. Caso contrário, basta usar a importação de balanço e a chamada simples:

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

Bastante fácil.

OnResolve
fonte
6

Chame o método "setWarningMsg ()" e passe o texto que deseja 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);
}

Ou apenas 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

Você pode usar o JOptionPane. (WARNING_MESSAGE ou INFORMATION_MESSAGE ou ERROR_MESSAGE)

Mahfuz Ahmed
fonte