JDialog là subclass của Dialog không có nút minimize/maximize ở góc trên phải. Có thể tạo hai loại JDialog box trong Java:
- Modal Dialog
- Non-Modal Dialog
Modal JDialog
Khi cửa sổ modal dialog active, tất cả input user hướng tới nó, các phần khác của ứng dụng vô hiệu hóa cho đến khi modal dialog đóng.
Non-Modal JDialog
Khi non-modal dialog active, các phần khác ứng dụng vẫn truy cập bình thường, input có thể hướng tới chúng, non-modal dialog không cần đóng.
Ví dụ
import javax.swing.*;
import java.awt.*;
import java.awt.Dialog.ModalityType;
public class Modal_NonModal_Dialog {
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setTitle("Modal and Non-Modal Dialog");
frame.setSize(350, 300);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
// modal dialog
JDialog nonModalDialog = new JDialog(frame, "Non-Modal Dialog", ModalityType.MODELESS);
nonModalDialog.setSize(300, 250);
nonModalDialog.setLocationRelativeTo(null);
nonModalDialog.setVisible(true);
// non-modal dialog
JDialog modalDialog = new JDialog(frame, "Modal Dialog", ModalityType.APPLICATION_MODAL);
modalDialog.setSize(300, 250);
modalDialog.setLocationRelativeTo(null);
modalDialog.setVisible(true);
}
}
Kết quả
