Java by API/java.awt/Dialog
Dialog.ModalityType.APPLICATION_MODAL
<source lang="java">
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); }
}
</source>
Dialog.ModalityType.DOCUMENT_MODAL
<source lang="java">
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); }
}
</source>