java - 如何在 Java Applet 中正确使用 getDocumentBase() 和 getCodeBase()?

标签 java applet

我正在开发一个项目,而且我对小程序还不熟悉。我不知道如何使用这些参数查找文件。我知道还有另一个问题几乎相同,但我希望以一种简单、简化的方式解决这个问题,因为我对此很陌生。任何帮助都是极好的!!!这是我的代码:

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 );
}

}

最佳答案

也许可以帮助你理解。在这里,我正在读取存储在项目的 src 文件夹中的 music 文件夹下的音乐文件,如下面的快照所示。

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

在您的情况下,它将从 bin/sounds/Dragon Roost.wav 获取音乐

<小时/>

getDocumentBase()

获取嵌入此小程序的文档的 URL。例如,假设文档中包含一个小程序:

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

文档库是:

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

getCodeBase()

获取基本 URL。这是包含此小程序的目录的 URL

<小时/>

示例代码:

小程序:

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

项目结构:

enter image description here

关于java - 如何在 Java Applet 中正确使用 getDocumentBase() 和 getCodeBase()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23817796/

相关文章:

java - Java:请提供有关“如何为多线程设置不同时区?”的示例。

java - Character.getNumericValue() 问题

java - 如何在半不透明的小程序中绘制填充矩形?

java - 如何从 javascript 调用 java 函数?

java - 什么在 MIDP 编程中相当于 swing-application 的 JButton?

java - 将光标发送到像素正方形

java - Swagger 2.0 (OpenApi 3.0) 中的 BeanConfig(或类似的?)

Java顺序实现比并行实现快4倍

java - 如何创建动画方法并将其放入绘制方法中?我的代码不起作用

java - 使用 java 小程序查看 .doc 文件