如何使用图像和声音导出我的Runnable Jar?

时间:2013-06-26 14:22:01

标签: java image jframe inputstream embedded-resource

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

CODE:

//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文件的图片

enter image description here

因此,您可以看到图像和声音文件夹位于jar文件中,但它们未被使用

1 个答案:

答案 0 :(得分:2)

到部署时,这些资源已成为。在这种情况下,必须由URL而不是File访问资源。有关标记的info page,请参阅URL

注意路径。根据那个清单:

"res//images//collin.jpg" 

应该成为:

"/images/collin.jpg"