Bagaimana cara menyajikan pesan peringatan sederhana di java?

128

Berasal dari .NET, saya begitu terbiasa memanggil Alert () di aplikasi desktop. Namun dalam aplikasi desktop java ini, saya hanya ingin mengingatkan pesan yang mengatakan "terima kasih telah menggunakan java" Saya harus melalui banyak penderitaan ini:

(menggunakan JOptionPane)

Apakah ada cara yang lebih mudah?

Terindah
sumber
10
Apa sebenarnya yang Anda harapkan dari "lebih mudah"? Jika itu verbositas, mengapa tidak membungkusnya dengan beberapa metode utilitas statis dan menyembunyikannya, misalnya? Ngomong-ngomong, tutorial resmi ada di sini .
BalusC
5
Jika Anda membaca dokumentasi alih-alih tutorial 12 tahun yang diikuti dengan keluhan langsung, Anda akan menemukan ada [kelebihan dengan hanya dua parameter: docs.oracle.com/javase/7/docs/api/javax/swing/… , java.lang.Object). (Yang pertama mungkin nol.)
milimoose

Jawaban:

240

Saya akan menjadi yang pertama mengakui Java bisa sangat bertele-tele, tapi saya rasa ini tidak masuk akal:

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

Jika Anda mengimpor secara statis javax.swing.JOptionPane.showMessageDialogmenggunakan:

import static javax.swing.JOptionPane.showMessageDialog;

Lebih lanjut ini mengurangi menjadi

showMessageDialog(null, "This is even shorter");
Dónal
sumber
34
Tidak ada yang salah dengan verbositas. Padahal, saya menganggap itu salah satu kelebihannya.
mre
14
@ apakah saya kira ini lelucon atau Anda salah paham "kata-kata"?
Dónal
36
@re, kecuali jika Anda memerlukan latihan mengetik untuk beralih ke pekerjaan kesekretariatan, saya tidak melihat bagaimana verbositas diinginkan.
Donal
5
@ Dónal Ketika beberapa hal sederhana membutuhkan seluruh halaman kode untuk bekerja, itu benar-benar menciptakan banyak pekerjaan tambahan untuk orang-orang! :)
Evgeni Sergeev
5
@Alid untuk menggunakan versi kedua, Anda perlu menambahkan yang berikut ke impor Andaimport static javax.swing.JOptionPane.showMessageDialog
Dónal
38

Dengan asumsi Anda sudah memiliki JFrame untuk memanggil ini dari:

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

Lihat Tutorial Java: Cara Membuat Dialog
Lihat JavaDoc

Bill the Lizard
sumber
4
Argumen pertama bisa nulljika Anda tidak memiliki yang JFrametersedia.
Drew Noakes
5
Catatan (untuk yang berkepentingan): JOptionPaneada dijavax.swing
Evgeni Sergeev
31

Jika Anda tidak suka "verbosity", Anda selalu dapat membungkus kode Anda dengan metode singkat:

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

dan penggunaannya:

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

Bahkan tanpa mengimpor ayunan, Anda bisa mendapatkan panggilan dalam satu, semua panjang, string. Kalau tidak, cukup gunakan impor ayunan dan panggilan sederhana:

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

Cukup mudah.

OnResolve
sumber
6

Panggil metode "setWarningMsg ()" dan berikan teks yang ingin Anda tampilkan.

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

Atau gunakan saja

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

Anda dapat menggunakan JOptionPane. (WARNING_MESSAGE atau INFORMATION_MESSAGE atau ERROR_MESSAGE)

Mahfuz Ahmed
sumber