JAVA网页设计Java SE 6中的AWT模态加强功能
主要缺点就是:速度比较慢,没有C和C++快 1、弁言模态一向是我最喜好的话题之一,最少由于一向存在大批的感乐趣的客户的有关于这方面内容的回馈信息。作为一个JavaSE测试工程师,这恰是驱动我事情的动力-它使我一向处于劳碌当中,并且还为我的事情带来康乐。另外一方面,这也申明了模态是客户端最广为利用的特性之一,不论是利用Swing仍是利用AWT举行开辟。
在JavaSE6(代码名为Mustang)中,我的事情变得更成心思――在模态方面举行大批的改善。这些改善将为使用程序开辟者供应更年夜的天真性――在计划大概用到模态对话框举动的程序的过程当中。在深切会商这些改善之前,让我们起首看一下在Mustang之前的AWT所供应的功效。
从其有关先容来看,AWT仅供应了两品种型的模态:模态和非模态的。
・模态-显现任何一个模态窗口时,使用程序中的一切窗口都将被阻断。
・非模态的-这是一种不克不及阻断任何窗口的对话框。
我们大概会提出以下一些风趣的成绩:
・为何一个模态对话框应当阻断以后使用程序中的一切的窗口?
・假如模态对话框仅阻断父窗口而不是别的窗口,欠好吗?
・由使用程序开辟者来决意(取代AWT)在他的使用程序的对话框应当阻断甚么窗口,欠好吗?例如说,当一个模态对话框处于举动形态时,假如一个使用程序用户想要转动匡助窗口来看一下他/她在对话框中作了如何的选择,他/她该怎样完成这一点呢?
AWT在新的JavaSE6中增强了这一方面的功效。如今,它供应了四品种型的模态(使用局限由宽到窄):工具箱,使用程序,文档和非模态的。开辟者能够视详细必要为他的对话框选择得当的模态范例。
2、工具箱模态
选择这类范例,假如:
・你的对话框必需阻断你的使用程序中的一切窗口(除该对话框的子条理窗口以外)
・你的对话框应当阻断你的applet及统一个工具箱中一切别的applet
・你的对话框应当阻断扫瞄器自己
・你想利用一个具有最年夜阻断局限的对话框
3、使用程序模态
就一般使用程序来讲,在使用程序和工具箱模态之间其实不存在良多区分。可是,假如你正在开辟一个applet,那末弄清其区分是非常主要的。
・假如在扫瞄器中启动多少applet,那末,依据你利用的是甚么扫瞄器(反省你的扫瞄器文档),它们能够被看成独自的使用程序或单个的使用程序。使用程序模态对话框将阻断统一个"使用程序"中的一切的窗口
・默许的模态范例,未给模态对话框指定任何内容时利用。
4、文档模态
选择这类范例,假如:
・对话框只阻断统一个文档中的窗口("文档"由最靠近顶部的没有一切者的窗口决意)
・对话框应当具有临近非模态的窗口的最小局限的阻断。
5、非模态型
假如你不想要你的对话框阻断任何窗口,那末你可使用这类模态。
注重既然工具箱模态对话框可以阻断扫瞄器/JavaWebStart,那末你必要一个AWTPermission"toolkitModality"以便从一个applet中利用这类范例的模态。
总的而言,在选择每个对话框的得当模态范例(依据它应当阻断使用程序中的别的顶级窗口的指定局限)时,这为使用程序开辟者供应大批的天真性。
6、模态扫除
另有别的一种场合-在你的使用程序中存在很多窗口,而且你想要你的模态对话框阻断除一个窗口以外的一切别的窗口。在如许情形下,你将必需选择模态范例-它具有最年夜局限的阻断才能。可是,从被对话框阻断的窗口中扫除这些不该该被阻断的窗口,有大概吗?是的,完整能够!
上面,让我们看一下AWT在这一方面所供应的功效:
在JavaSE6中,AWT又引进了两种模态扫除范例(参考)。
(一)阻断工具箱模态对话框扫除型
假如一个窗口是工具箱模态扫除的,那末它就不会被任何使用程序或工具箱模态对话框所阻断。别的,它也不会被文档模态对话框从别的的子条理窗口(注重:假如你利用的是一种applet情况,那末你会请求AWTPermission-"toolkitModality"利用这类扫除范例)外所阻断。
(二)阻断使用程序模态对话框扫除型
假如一个窗口是一个使用程序模态扫除的,那末它就不会被任何使用程序模态对话框所阻断。别的,它也不会被文档模态对话框从其子条理窗口表面所阻断。
.扫除于使用程序模态以外的窗口
默许情形下,一个窗口的模态扫除属性是被封闭的。也就是说,默许情形下,它被阻断-假如它在可见的任何模态对话框的阻断局限以内。
在利用任何模态或扫除范例之前,请反省一下是不是你的平台撑持这类范例-经由过程挪用由java.awt.Toolkit类所供应办法isModalitySupported()和isModalExclusionTypeSupported()来完成。
7、无父对话框
一向以来,对话框老是有一个父窗口与之相干联。可是,一个对话框老是有一个父窗口真正十分有需要吗?谜底不再是如许了!
如今,在JavaSE6中,我们有大概创立一个父窗口为"null"的AWT对话框(在对话框机关器中的"parent"参数值为null)。在之前的刊行版本中,这一向会激发一个非常。
因而,假如你不想让你的对话框有一个父窗口的话,那末你就不再必要创立一个"哑元"父窗口了!
除此以外,另有一些风趣的值得切磋的内容:
(一)假如无父对话框是文档模态的
一个没有一切者的文档模态对话框会主动地成为该文档的一个根,因而它的阻断局限为空。因而,它的举动就象一个非模态的对话框一样。
(二)假如无父对话框是使用程序或工具箱模态
一个使用程序或工具箱模态对话框(相对一个文档模态对话框)的阻断局限其实不依附于它的一切者,因而对阻断局限不会发生任何影响。
在任何情形下,一个模态对话框应当老是位于它阻断的别的顶级窗口的顶部。你不克不及改动一个已可见的对话框的模态范例。假如你想如许做,那末你必要埋没它而且再次显现之,以便该新指定的模态范例起感化。
你说是sun公司对她研究的透还是微软?针对自己工具开发的.net性能上肯定会站上风的。 http://www.ckuyun.com/去下载,或到同济技术论坛的服务器ftp://www.ckuyun.com去下,安装上有什么问题,可以到论坛上去提问。 J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。 《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。 Java是一种计算机编程语言,拥有跨平台、面向对java Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台 另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。 科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。 多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。 在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。 科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
页:
[1]