Java: JOptionPane对象的属性是什么,它可以防止在其下面单击



我已经使用JDialog创建了我自己的JOptionPane,但是我似乎无法复制典型的JOptionPane的行为,即禁止用户单击除JOptionPane窗口以外的任何地方。

我需要用JDialog复制JOptionPane的什么属性,以便我可以模仿这种行为?(我知道JOptionPane只是专门的jdialog,如果查看JOptionPane类的源代码就可以看到)。

设置JDialog模态的Swing API是Dialog的构造函数之一。ModalityType作为参数

  • JDialog(窗口所有者,对话框。ModalityType ModalityType)
  • JDialog(窗口所有者,字符串标题,对话框。ModalityType ModalityType)
  • JDialog(窗口所有者,字符串标题,对话框。ModalityType ModalityType, GraphicsConfiguration gc)

创建后设置模式:java.awt.setModalityType()

要获取模态,使用java.awt.Dialog.getModalityType()

旧的方法是使用布尔值(其他构造函数)。

有时我们想通过java.awt.setModalExclusionType()(很少使用)

将某些Windows从模态中排除

这只不过是一个模态 JDialog,它的模态赋予了它这个属性。据我所知,如果不创建和使用模态JDialog,就无法直接复制这一点。您必须确保JDialog被设置为引用正确的父窗口(通常是JFrame),并且它的ModalityType设置正确。

最新更新