Phương thức tĩnh showXXXDialog()
chỉ để thuận tiện. Nếu bạn xem mã nguồn cho JOptionPane
, bạn sẽ thấy rằng trong thực tế, đối tượng JOptionPane
được tạo dựa trên các tùy chọn bạn chỉ định và sau đó gọi là JOptionPane.createDialog(...)
. Một phương pháp để hiển thị hộp thoại tin nhắn của bạn ở một vị trí khác nhau là:
JOptionPane pane = new JOptionPane("Message", JOptionPane.WARNING_MESSAGE,
JOptionPane.DEFAULT_OPTION);
JDialog dialog = pane.createDialog("TITLE");
dialog.setLocation(0, 0);
dialog.setVisible(true);
// dialog box shown here
dialog.dispose();
Object selection = pane.getValue();
Với sự kết hợp của các thông số để các nhà xây dựng JOptionPane
và JOptionPane
phương pháp thiết lập, bạn có thể làm bất cứ điều gì bạn đã có thể thực hiện với các phương pháp tĩnh, ngoài ra bạn có quyền truy cập vào đối tượng JDialog
.
EDITED: (thêm ví dụ về hộp thoại đầu vào cho OP)
JOptionPane pane = new JOptionPane("Message", JOptionPane.QUESTION_MESSAGE,
JOptionPane.OK_CANCEL_OPTION, null, null, null);
pane.setWantsInput(true);
JDialog dialog = pane.createDialog(null, "Title");
dialog.setLocation(0, 0);
dialog.setVisible(true);
String str = (String) pane.getInputValue();
Nguồn
2010-12-28 01:44:56
Cool, tôi có thể thấy làm thế nào tôi có thể áp dụng ở trên để showMessageDialog, showConfirmDialog, vv Nhưng những gì về thực hiện showInputDialog? Làm cách nào để triển khai trường nhập văn bản trong JDialog? – skyork
@ user548240 - ví dụ được thêm vào inputDialog –
Thật tuyệt, tôi đã suy nghĩ về việc xây dựng nó từ đầu và không biết có phương pháp nào có sẵn trong JOptionPane. Cảm ơn! – skyork