我想知道为什么在创建警报时需要initOwner()
?两种代码-使用和不使用initOwner()
均有效。谁能告诉我为什么我应该使用initOwner()
方法?
最佳答案
除了Jan的答案指出的不同外观和行为外,窗口所有权层次结构还会影响window modality。
对于窗口模式对话框,如果设置了所有者,则该对话框将阻止所有者阶段的输入,并且用户必须先关闭子级才能关闭所有者阶段。
如果您有一个包含所有者的窗口模式对话框,则在关闭子对话框之前,用户将无法专注于所有者对话框中的字段。
如果窗口模式对话框没有所有者,则用户可以在所有者的字段和子项之间切换焦点。
对于具有所有者的非模式窗口,所有权也会影响窗口的关闭。如果用户关闭父窗口,则子窗口也将关闭。