Java 如何导出带有图像和声音的可运行Jar?
我正在为我的朋友制作一个基本程序,显示他这张有趣的照片并循环一个声音。当我导出我的JAR时,它不起作用,所以我用WinRar打开JAR,文件在那里,但它们没有播放 代码:Java 如何导出带有图像和声音的可运行Jar?,java,image,jframe,inputstream,embedded-resource,Java,Image,Jframe,Inputstream,Embedded Resource,我正在为我的朋友制作一个基本程序,显示他这张有趣的照片并循环一个声音。当我导出我的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 vo
//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文件的图片
因此,您可以看到images和sounds文件夹位于jar文件中,但是在部署时它们没有被使用,这些资源已经成为一个重要的资源。在这种情况下,必须通过
URL
而不是File
访问资源。有关形成URL
的方法,请参阅标签的
请注意路径。根据该清单:
"res//images//collin.jpg"
应成为:
"/images/collin.jpg"