Dialog 是一个带标题和边界的顶层窗口,边界一般用于从用户处获得某种形式的输入。 Dialog 的大小包括边界所指定的任何区域。边界区的维度可以使用
getInsets 方法获得,但是,由于这些维度是依赖于平台的,因此只有通过调用 pack 或
show 将 dialog 设置为可显示的,才能获得有效的 insets 值。由于 dialog
的总大小包括了边界区,因此边界有效地模糊了 dialog 的部分区域,约束了可用于在矩形中呈现或显示子部件的区域,矩形左上角的位置为
(insets.left, insets.top),宽度为 width - (insets.left +
insets.right),长度为 height - (insets.top + insets.bottom)。
Dialog 的默认布局为 BorderLayout。
Dialog 可以使用 setUndecorated 关闭本机装饰(例如 Frame & Titlebar)。只有在
dialog 不是 displayable 时才能完成此操作。
Dialog 在构造时必须有一个框架,或者将另一个 dialog 定义为它的所有者。当可见的 dialog 的所有者窗口被最小化时,dialog
会自动隐藏为对用户不可见。当所有者窗口被还原时,dialog 重新又变为用户可见的。
dialog 可以是无模式的(默认情况下)或有模式的。一个有模式的 dialog 将阻断输入到应用程序中其他所有顶层窗口的内容(将此 dialog
作为其所有者创建的窗口除外)。
Dialog 能够产生以下
WindowEvents:WindowOpened、WindowClosing