我已经使用 JDialog 创建了自己的 JOptionPane,但我似乎无法复制典型 JOptionPane 的行为,该行为禁止用户单击 JOptionPane 窗口以外的任何位置。
我需要使用 JDialog 复制 JOptionPane 的哪些属性才能模仿这种行为?(我知道 JOptionPane 只是专门的 JDialogs,您可以查看 JOptionPane 类源代码)。
我已经使用 JDialog 创建了自己的 JOptionPane,但我似乎无法复制典型 JOptionPane 的行为,该行为禁止用户单击 JOptionPane 窗口以外的任何位置。
我需要使用 JDialog 复制 JOptionPane 的哪些属性才能模仿这种行为?(我知道 JOptionPane 只是专门的 JDialogs,您可以查看 JOptionPane 类源代码)。
设置JDialog模态的 Swing API是以Dialog.ModalityType作为参数的构造函数之一。
创建后设置模态:java.awt.setModalityType()
要获取模态,请使用java.awt.Dialog.getModalityType()
老式的方法是使用布尔值(其他构造函数)。
有时我们想用java.awt.setModalExclusionType()从模态中排除一些 Windows (很少使用)
它只不过是一个模态的 JDialog,它是赋予它这个属性的模态。据我所知,如果不创建和使用模态 JDialog,您将无法直接复制它。您必须确保 JDialog 设置为引用正确的父窗口(通常是 JFrame),并且其 ModalityType 设置正确。