:模态时要了解的AWTAWT特性-乐题库

五、 关于 AWT 功能

以下是使用新模态时需要注意的其他一些 AWT 功能。

(一) 总是在最前面

当一个不总是在顶部的模态对话框阻塞一个总是在顶部的窗口时,它们的相对 Z 顺序是未指定的并且依赖于平台。以下示例说明了这个问题:

JFrame f = 新的 JFrame(…);

f.setAlwaysOnTop(true);

f.setVisible(true);

图片[1]-:模态时要了解的AWTAWT特性-乐题库-老王博客

JDialog d = new JDialog(frame, “Dialog”, true);

d.setVisible(true);

这段代码产生了矛盾:一方面,d 必须在 f 之上(因为它是一个模态对话框并且应该阻止 f)。另一方面,f 必须在 d 之上,因为 f 设置为始终在顶部,而 d 不是。这种情况没有具体说明。但是,总有一种解决方法:如果 d 也设置为始终位于顶部 (d.setAlwaysOnTop(true))模态对话框是什么时候实例的对话框,则对话框将始终位于框架窗口的顶部。

(二) toFront() 和 toBack() 方法

模态对话框应始终位于它阻止的所有窗口的顶部。因此,如果一个被阻止的窗口被带到前面,它的阻止对话框(如果有的话)也被带到前面并被放置在被阻止的窗口的顶部。同样,如果模态对话框被发送到后面模态对话框是什么时候实例的对话框,那么它的所有被阻止的窗口都被发送到后面,以便它们位于阻止对话框的下方。

(三) 最小化、最小化和关闭被阻塞的窗口

当模态对话框阻塞窗口时,用户可能无法最小化或最小化被阻塞的窗口。但是,实际行为未指定并且取决于平台。在任何情况下,用户都不应以交互方式关闭被阻止的窗口。但它可以通过编程方式关闭 – 通过在被阻止的窗口上调用 setVisible(false) 或 dispose()。资料来源:Exam Big – Java 认证

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论