如何在Java Applets中正确使用getDocumentBase()和getCodeBase()?

时间:2014-05-22 22:03:25

标签: java applet

我正在开发一个项目,而且我是applets的新手。我不知道如何使用这些参数查找文件。我知道还有另一个问题几乎相同,但我想以一种简单,简单的方式想要这个,因为我是新手。任何帮助都是极好的!!!这是我的代码:

import java.applet.Applet;
import java.applet.AudioClip;
import java.awt.Graphics;

public class SoundDemo extends Applet
{
public void init()
{
AudioClip clip = getAudioClip( getCodeBase(), "sounds/Dragon Roost.wav" );
clip.play();
}

public void paint( Graphics g )
{
g.drawString( "Now Playing Clip", 10, 10 );
}

}

2 个答案:

答案 0 :(得分:4)

这可能有助于您理解。在这里,我正在阅读一个音乐文件,该文件存储在我项目的music文件夹中的src文件夹下,如下图所示。

getDocumentBase()指向存储所有类的bin文件夹(类路径)。

在您的情况下,它会从bin/sounds/Dragon Roost.wav

中获取音乐

getDocumentBase()

获取嵌入此applet的文档的URL 。例如,假设applet包含在文档中:

http://java.sun.com/products/jdk/1.2/index.html

文件基础是:

http://java.sun.com/products/jdk/1.2/index.html

getCodeBase()

获取基本URL。这是目录的URL,其中包含此applet


示例代码:

小程序:

URL url = getDocumentBase();
AudioClip audioClip = getAudioClip(url, "music/JButton.wav");

项目结构:

enter image description here

答案 1 :(得分:-1)

getDocumentBase( )

Java将允许applet从包含启动applet的HTML文件的目录(文档库)加载数据 此文档基础URL对象由函数getDocumentBase()

返回

getCodeBase( )

加载applet的类文件的目录(代码库) 此代码库URL对象由函数getCodeBase()返回。

示例代码:

EXAMPLE CODE

示例输出:

OUTPUT