2012-02-17 14 views
5

Đây là một crosspost để thread trong JavaRanch (bao gồm một số hình ảnh): http://www.coderanch.com/t/567472/GUI/java/Optimal-solution-creating-multiple-dialogJOptionPane vs JDialog

Tôi đang cố gắng để phát triển một ứng dụng máy tính để bàn xoay đơn giản mà tôi tưởng tượng rất nhiều nhảy thoại khác nhau của xung quanh để lấy người sử dụng đầu vào. Sẽ cần phải trình bày nhãn, textfields, passwordfields, combobxes, hộp kiểm vv trong các cửa sổ hộp thoại khác nhau.

Ví dụ: tạo cơ sở dữ liệu trực tiếp, tạo ra các tài khoản quản trị đầu tiên, thêm người dùng, thay đổi tài khoản người dùng, vv

Tôi đã hiểu rằng JOptionPane được sử dụng để tạo ra đơn giản nhanh chóng & dễ modal của hộp thoại. Tôi thực sự muốn biết tại sao người ta chọn cái khác hơn trong trường hợp này. Cách nào thích hợp hơn để sử dụng: JOptionPane vs. JDialog

Ngoài ra tôi có thể sử dụng một số gợi ý về cách thiết kế và triển khai một cách phù hợp.

Cảm ơn bạn.

+0

đây là hướng dẫn tốt cho người mới bắt đầu về cách sử dụng chúng: http://www.thepcwizard.in/2012/05/working-with-jdialog-and-joptionpane-in.html – ThePCWizard

Trả lời

2

Kiểm tra http://docs.oracle.com/javase/tutorial/uiswing/components/dialog.html nó khá nhiều có mọi thứ bạn cần.

Như tôi đã hiểu, JOptionPane rất tuyệt vời cho những gì nó có thể làm, nhưng bạn thực sự không thể thay đổi chức năng vượt ra ngoài (không dễ dàng). JDialog là tốt hơn để kế thừa từ nếu bạn muốn tạo hộp thoại tùy chỉnh của riêng bạn.

8

Dưới đây là tuyên bố tôi đã tìm thấy trên trang web Java có ghi một điểm chính về sự khác biệt giữa hai trang.

How to make Dialogs

Một Dialog có thể phương thức. Khi một hộp thoại phương thức hiển thị, nó sẽ chặn đầu vào của người dùng tới tất cả các cửa sổ khác trong chương trình. JOptionPane tạo ra JDialogs là phương thức. Để tạo một Dialog không có phương thức, bạn phải sử dụng trực tiếp lớp JDialog.

Vì vậy, có vẻ như bạn sẽ sử dụng JOptionPane nếu bạn muốn người dùng phải thực hiện lựa chọn và đóng hộp trước khi quay lại màn hình chính. Nếu bạn sử dụng một hộp JDialog, sau đó họ chỉ có thể nhấp vào xung quanh nó và trở lại màn hình chính mà không thực hiện một sự lựa chọn. Ví dụ: giả sử bạn muốn người dùng chọn số kết quả trước khi nhấp vào gửi, bạn sẽ không muốn họ có thể nhấp vào xung quanh cửa sổ đó và nhấp vào gửi. Bạn sẽ sử dụng JOptionPane để buộc họ chọn giá trị trước tiên trước khi quay trở lại để gửi.

+0

+1 - điểm quan trọng đối với những gì anh ấy muốn làm –