因为Applet类是AWT Panel类的子类(参见7.1.1节),所以大部分Applet有一个图形用户界面。Applet可以通过它定义的参数从用户得到配置信息。Applet也可以通过读取系统属性来获得系统信息。如果要给用户提供提示信息,Applet可以使用它的GUI输出一个状态字符串,或者使用标准输出流或标准错误输出流。
Applet GUI具有如下性质:
1.一个Applet是一个面板(Panel)
由于Applet是Panel类的子类,所以它继承了Panel默认的布局管理器FlowLayout(流式布局管理器),可以像Panel一样包含其他的控件。Applet作为一个Panel对象,还可以分享它的绘图方法和事件处理。
在第6章学习的文本框、文本域、标签、按钮等控件,在那些程序中,这些控件是放在框架(Frame)里的,用上面学过的方法,稍加改动,就可以在Applet中运行。
2.Applet只能在浏览器窗口内显示
这里包含着两层含义,一是,Applet与基于GUI的独立应用程序不同,不需要另外建立窗口,而是在浏览器的窗口内显示。二是,依赖于浏览器的实现,当Applet增加控件后要再次调用validate()方法使布局刷新,否则新增的控件不能显示。
3.Applet的背景颜色可能会与Web页面的颜色不一致(www.xing528.com)
Applet的背景颜色默认是浅灰色,Web页面也可以使用其他的背景颜色和背景模式。如果设计的Applet与Web页面设计的背景颜色不一致,就有可能在显示图像时引起明显的闪烁。这里有两种解决办法,一种是用Applet的参数指明它的背景颜色,Applet类可用Component类的setBackground()方法把它的背景设成用户指定的颜色;另一种办法是,页面设计者可以选择Applet颜色参数作为Web页面背景颜色参数,使两种颜色能很地协调在一起。
4.用户可预先指定Applet窗口的大小
浏览器不允许调整Applet本身的大小,因此必须为Applet确定一个固定的大小。通过设置<APPLET>标记的宽度WIDTH和高度HEIGHT就可以实现。Applet指定的这个空间大小对某个平台也许是理想的,但对另一个平台却不一定符合要求。这可以通过一些方法来补救,其中包括使用比指定略小一点的空间大小。另外也可以使用布局管理器,如AWT提供的GridLayout(网络布局管理器)和BorderLayout(边界布局管理器)。
5.通过Applet的getImage()方法装载图像
Applet类提供了一种方便的获取图像的方法getImage(URL,String),指定一个URL作为图像文件地址,第二个参数是图像文件名。大部分Applet使用它的getCodeBase()和getDocumentBase()方法获得当前目录的URL。我们将在第8章中学习图像的装载和显示。
6.Applet类及其使用的数据文件可以通过网络装入
为了减少Applet显示的启动时间,Applet子类可以立即显示一条状态消息。如果某些Applet类或数据不需要立即使用,这个Applet可以把这些类和数据的装入预先放在一个后台的线程中。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。