Jak przedstawić prosty komunikat ostrzegawczy w Javie?


131

Pochodzę z .NET i jestem tak przyzwyczajony do wywoływania Alert () w aplikacjach komputerowych. Jednak w tej aplikacji komputerowej java chcę tylko ostrzec wiadomość mówiącą „dziękuję za używanie java”, muszę przejść przez tyle cierpienia:

(za pomocą JOptionPane)

Czy istnieje prostszy sposób?


10
Czego dokładnie oczekujesz od „łatwiejszego”? Jeśli jest to gadatliwość, dlaczego nie owinąć jej po prostu jakąś statyczną metodą narzędziową i na przykład ukryć? Nawiasem mówiąc, oficjalny samouczek jest tutaj .
BalusC

5
Jeśli przeczytasz dokumentację zamiast 12-letnich samouczków, a następnie natychmiast narzekasz, dowiesz się, że istnieje [przeciążenie z tylko dwoma parametrami: docs.oracle.com/javase/7/docs/api/javax/swing/… , java.lang.Object). (Z których pierwszy może być zerowy).
millimoose

Odpowiedzi:


244

Będę pierwszą, która przyzna, że ​​Java może być bardzo rozwlekła, ale nie sądzę, aby to było nierozsądne:

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

Jeśli importujesz statycznie javax.swing.JOptionPane.showMessageDialogprzy użyciu:

import static javax.swing.JOptionPane.showMessageDialog;

To dalej redukuje się do

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

35
Nie ma nic złego w gadatliwości. W rzeczywistości uważam to za jedną z jego mocnych stron.
MRE

15
@mre Myślę, że to albo żart, albo nie rozumiesz „gadatliwości”?
Dónal

37
@mre, chyba że potrzebujesz praktyki pisania, aby przejść do pracy w sekretariacie, nie widzę, jak szczegółowość jest pożądana.
Dónal

7
@ Dónal Kiedy jakaś prosta rzecz wymaga całej strony kodu, aby zacząć działać, tworzy to naprawdę wiele dodatkowych miejsc pracy dla ludzi! :)
Evgeni Sergeev

6
@Alids do korzystania z drugiej wersji, musisz dodać następujące dane do swojego importuimport static javax.swing.JOptionPane.showMessageDialog
Dónal,


32

Jeśli nie lubisz „gadatliwości”, zawsze możesz opakować swój kod w krótką metodę:

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

i zastosowanie:

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

25

Nawet bez importowania zamachu możesz odebrać połączenie w jednym, długim łańcuchu. W przeciwnym razie użyj importu swing i prostego wywołania:

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

Wystarczająco łatwe.


9

Wywołaj metodę "setWarningMsg ()" i przekaż tekst, który chcesz pokazać.

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

Lub po prostu użyj

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

Możesz użyć JOptionPane. (WARNING_MESSAGE lub INFORMATION_MESSAGE lub ERROR_MESSAGE)

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.