Come presentare un semplice messaggio di avviso in Java?


128

Proveniente da .NET sono così abituato a chiamare Alert () nelle app desktop. Tuttavia, in questa app desktop Java, voglio solo avvisare un messaggio che dice "grazie per aver usato Java", devo affrontare questa sofferenza:

(usando un JOptionPane)

C'è un modo più semplice?


10
Cosa ti aspetti esattamente da "più facile"? Se è la verbosità, perché non semplicemente avvolgerlo in qualche metodo di utilità statica e nasconderlo, per esempio? A proposito, il tutorial ufficiale è qui .
BalusC,

5
Se leggi la documentazione invece dei tutorial di 12 anni seguiti da lamentele immediate, scopriresti che c'è un sovraccarico con solo due parametri: docs.oracle.com/javase/7/docs/api/javax/swing/… , java.lang.Object). (Il primo dei quali può essere nullo.)
millimoose,

Risposte:


240

Sarò il primo ad ammettere che Java può essere molto dettagliato, ma non penso che sia irragionevole:

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

Se si importa staticamente javax.swing.JOptionPane.showMessageDialogusando:

import static javax.swing.JOptionPane.showMessageDialog;

Questo riduce ulteriormente a

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

34
Niente di sbagliato nella verbosità. In effetti, lo considero uno dei suoi punti di forza.
martedì

14
@mre Immagino che questo sia uno scherzo o stai fraintendendo la "verbosità"?
Dónal,

36
@mre a meno che non sia necessaria la pratica di battitura per passare a un lavoro di segreteria, non vedo quanto sia desiderabile la verbosità.
Dónal,

5
@Dónal Quando una cosa semplice richiede un'intera pagina di codice per funzionare, ciò crea davvero un sacco di lavori extra per le persone! :)
Evgeni Sergeev

5
@Alids per utilizzare la seconda versione, devi aggiungere quanto segue alle tue importazioniimport static javax.swing.JOptionPane.showMessageDialog
Dónal


31

Se non ti piace la "verbosità", puoi sempre racchiudere il tuo codice in un metodo breve:

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

e l'uso:

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

24

Anche senza importare swing, puoi ricevere la chiamata in una, tutta lunga, stringa. Altrimenti basta usare l'importazione swing e la semplice chiamata:

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

Abbastanza facile.


6

Chiamare il metodo "setWarningMsg ()" e passare il testo che si desidera mostrare.

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 basta usare

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

Puoi usare JOptionPane. (WARNING_MESSAGE o INFORMATION_MESSAGE o ERROR_MESSAGE)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.