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?


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

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


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!");

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.


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)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.