1

我正在为我的朋友制作一个基本程序,显示他这张有趣的照片并循环播放声音。当我导出我的 JAR 时它不起作用所以我用 WinRar 打开 JAR 并且文件在那里但它们没有播放

代码:

//imports
 public class twerk {
static File fl = new File("res//sounds//liver.au");
static int loo = 1;
static JFrame frame = new JFrame("COLLIN");
public static void frame(){
    frame.setSize(1086,800);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setResizable(false);
    ImageIcon image = new ImageIcon("res//images//collin.jpg");
    JLabel label = new JLabel(image);
    frame.add(label, BorderLayout.NORTH);
    frame.setIconImage(image.getImage());
    frame.setVisible(true);
    try
    {

        String st =fl.getPath();
        InputStream in = new FileInputStream(st);
        AudioStream au = new AudioStream(in);
        AudioPlayer.player.start(au);
        if(loo == 1){
            Thread.sleep(1900);
            frame();
        }

    } catch(Exception e){}
}
    public static void main(String[] args){


    frame();

}

}

在 WinRar 中打开的 JAR 文件的图片

在此处输入图像描述

所以你可以看到图像和声音文件夹在 jar 文件中,但它们没有被使用

4

1 回答 1

2

到部署时,这些资源已成为。在这种情况下,资源必须由URL而不是访问File。请参阅标签的信息页面,了解形成URL.

注意路径。根据该清单:

"res//images//collin.jpg" 

应该变成:

"/images/collin.jpg"
于 2013-06-26T14:29:05.287 回答