www.goodsgy.com 注意,这种新型的模态模型并没有实现一个系统模态,这将会阻断(Java或其它)所有被显示在桌面上的应用程序,而只有一个模式对话框处于活动状态。
三、了解新的构造器
能提供真正无父窗口而不中断向后兼容对于AWT开发小组来说是一个挑战。在JDK 5.0及以前的版本中,允许传递null作为JDialog或Jwindow的父窗口。这意味着,一不可见的共享所有者的框架窗口将成为这个对话框或窗口的父窗口。这个共享所有者的框架窗口的创建是为了创建无父窗口对话框。这种情况直到Java SE 6才得以成功-Java SE 6引入了新型的文档-模式对话框能够阻止所有的窗口使用相同的文档。
因而,工具箱会知道这样的对话框或窗口是没有null父窗口的。在Mustang中,仍然允许传递null作为一个父窗口到旧式的JDialog或JWindow构造器中。并且这可以完成相同的事情:其成为共享的所有者框架窗口而不是成为父窗口,这也照顾了向后兼容问题。然而,现在能把null传递到Dialog或Window构造器中,而且也能传递到新的JDialog或JWindow构造器中,这意味着这些对话框能够真正成为无父窗口。
下面列举的是一些比较有用的构造器:
·JDialog(Dialog owner)
创建一个无标题并用一个指定的对话框作为其父窗口的无模式对话框
·JDialog(Dialog owner,boolean modal)
用指定的所有者Dialog和模态创建一个具有指定的模态和所有者对话框的对话框
·JDialog(Dialog owner,String title)
创建一个具有指定的标题和所有者对话框的无模式对话框
·JDialog(Dialog owner,String title,boolean modal)
创建一个具有指定的标题,模态和所有者对话框的对话框
·JDialog(Dialog owner,String title,boolean modal,GraphicsConfiguration gc)
创建一个具有指定的标题,模态和所有者对话框和GraphicsConfiguration的对话框
·JDialog(Frame owner)
创建一个无标题但用指定的框架作为其所有者的无模式对话框
·JDialog(Window owner,String title,Dialog.ModalityType modalityType)
创建一个具有指定的标题,模态和所有者窗口的对话框
有关这里每个构造器的更多细节请参考Mustang有关文档。www.goodsgy.com
四、 与所有者窗口一同工作
www.goodsgy.com
www.goodsgy.com
上一页 [1] [2] [3] [4] [5] [6] 下一页