Java教程是针对JDK 8编写的。本页中描述的示例和实践不利用后续版本中引入的改进,并可能使用不再可用的技术。
有关Java SE 9及其后续版本中更新的语言功能的摘要,请参阅Java语言更改。
有关所有JDK版本的新功能、增强功能和已删除或已弃用选项的信息,请参阅JDK发布说明。
当Java applet需要从指定了相对URL(未完全指定文件位置的URL)的文件中加载数据时,通常使用代码基础(code base)或文档基础(document base)来形成完整的URL。
代码基础由JApplet
的getCodeBase
方法返回,它是一个指定applet类所加载的目录的URL。对于本地部署的applet,getCodeBase
方法返回null。
文档基础由JApplet
的getDocumentBase
方法返回,它指定包含applet的HTML页面的目录。对于本地部署的applet,getDocumentBase
方法返回null。
除非<applet>
标签指定了代码基础,否则代码基础和文档基础指的是同一台服务器上的同一目录。
applet可能需要的数据,或者需要作为备份依赖的数据,通常相对于代码基础来指定。applet开发人员指定的数据通常相对于文档基础来指定,通常使用参数来指定。
JApplet
类定义了方便的图像加载和声音加载方法的形式,可以相对于基础URL来指定图像和声音。例如,假设applet设置了以下其中一种目录结构:
要创建一个使用imgDir
下的a.gif
图像文件的Image
对象,applet可以使用以下代码:
Image image = getImage(getCodeBase(), "imgDir/a.gif");