2012-02-02 39 views
100

Xuất phát từ .NET Tôi rất quen với việc sử dụng Alert() trong các ứng dụng dành cho máy tính để bàn. Tuy nhiên, trong này ứng dụng máy tính để bàn java, tôi chỉ muốn cảnh báo một thông báo nói "cảm ơn bạn đã sử dụng java" Tôi phải trải qua nhiều đau khổ này:Làm thế nào để trình bày một thông báo cảnh báo đơn giản trong java?

(sử dụng một JOptionPane)

Có một cách dễ dàng hơn?

+10

Chính xác bạn mong đợi điều gì từ "dễ dàng hơn"? Nếu đó là độ dài, tại sao không chỉ quấn nó trong một số phương pháp tiện ích tĩnh và giấu nó đi, ví dụ? Nhân tiện, hướng dẫn chính thức là [ở đây] (http://docs.oracle.com/javase/tutorial/uiswing/components/dialog.html). – BalusC

+5

Nếu bạn đọc tài liệu thay vì hướng dẫn 12 năm tiếp theo là khiếu nại ngay lập tức, bạn sẽ thấy có [quá tải chỉ với hai tham số: http://docs.oracle.com/javase/7/docs/api/javax /swing/JOptionPane.html#showMessageDialog (java.awt.Component, java.lang.Object). (Số đầu tiên có thể là null.) – millimoose

Trả lời

185

tôi sẽ là người đầu tiên thừa nhận Java có thể rất dài dòng, nhưng tôi không nghĩ rằng đây là không hợp lý:

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

Nếu bạn tĩnh nhập JOptionPane.showMessageDialog này tiếp tục giảm để

showMessageDialog(null, "This language just gets better and better!"); 
+27

Không có gì sai với tính chi tiết. Trong thực tế, tôi xem xét rằng một trong những thế mạnh của nó. – mre

+10

@mre Tôi đoán đây chỉ là trò đùa hoặc bạn hiểu nhầm "sự rụt rè"? –

+4

Không, đó là một ý kiến. – mre

31

Giả sử bạn đã có một JFrame để gọi điều này từ:

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

Xem The Java Tutorials: How to Make Dialogs
Xem the JavaDoc

+3

Đối số đầu tiên có thể là' null' nếu bạn không có 'JFrame'. –

+3

Lưu ý (người mà nó có thể quan tâm): 'JOptionPane' nằm trong' javax.swing' –

21

Ngay cả khi không nhập đu, bạn có thể nhận cuộc gọi trong một, tất cả đều dài, chuỗi. Nếu không, chỉ cần sử dụng tính năng nhập và chuyển cuộc gọi đơn giản:

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

Đủ dễ dàng.

20

Nếu bạn không thích "rườm rà" bạn luôn có thể quấn mã của bạn trong một phương pháp ngắn:

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

và năng bảo mật bằng:

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

Call "setWarningMsg()" Phương pháp và chuyển văn bản mà bạn muốn hiển thị.

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

Hoặc Chỉ cần sử dụng

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 

Bạn có thể sử dụng JOptionPane. (WARNING_MESSAGE hoặc INFORMATION_MESSAGE hoặc ERROR_MESSAGE)

Các vấn đề liên quan