Java by API/java.awt/Dialog
Dialog.ModalityType.APPLICATION_MODAL
import java.awt.Dialog;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
public class ApplicationModalDialogDemo {
public static void main(String[] args) {
final JFrame parent1 = new JFrame("Parent Frame 1");
parent1.setLayout(new FlowLayout());
parent1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton button = new JButton("Application modal dialog");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JDialog dialog = new JDialog(parent1, "Application-Modal Dialog",
Dialog.ModalityType.APPLICATION_MODAL);
dialog.setBounds(200, 150, 200, 150);
dialog.setVisible(true);
}
});
parent1.add(button);
parent1.setBounds(100, 100, 200, 150);
parent1.setVisible(true);
JFrame parent2 = new JFrame("Parent Frame 2");
parent2.setBounds(500, 100, 200, 150);
parent2.setVisible(true);
}
}
Dialog.ModalityType.DOCUMENT_MODAL
import java.awt.Dialog;
import java.awt.FlowLayout;
import javax.swing.JDialog;
import javax.swing.JFrame;
public class Main {
public static void main(String[] args) {
final JFrame parent = new JFrame("Parent Frame");
parent.setLayout(new FlowLayout());
parent.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
parent.setBounds(100, 100, 300, 200);
parent.setVisible(true);
JDialog dialog1 = new JDialog(parent, "Dialog1 - Modeless Dialog");
dialog1.setBounds(200, 200, 300, 200);
dialog1.setVisible(true);
JDialog dialog2 = new JDialog(parent, "Dialog2 - Document-Modal Dialog",
Dialog.ModalityType.DOCUMENT_MODAL);
dialog2.setBounds(300, 300, 300, 200);
JDialog dialog3 = new JDialog(dialog2, "Dialog3 - Modeless Dialog");
dialog3.setBounds(400, 400, 300, 200);
dialog3.setVisible(true);
dialog2.setVisible(true);
}
}