我在netbeans中有一个java gui项目(带调色板)。
主文件夹是“imagebrowser”。
它有这些文件夹“build”、“dist”、“nbproject”、“src”,还有这些文件“build.xml”、“manifest.mf”。
文件夹“src”中有文件夹“icons”,“imagebrowser”
进入“图标”我有一个图片,在“图像浏览器”是来源。
第一个问题
在我使用的源代码中:

ImageIcon icon = new ImageIcon("src/Icons/my_photo_name.jpg");
labelImage.setIcon(icon);

好好看看目录“src/icons/my_photo_name.jpg”
我保证当我从netbeans运行这个项目时,程序会显示“my_photo_name.jpg”,没有任何问题。
当我制作jar(我在linux的netbeans中制作)并在windows7中运行它时,程序没有显示“my_photo_name.jpg”,显然它找不到它!
你能告诉我为什么吗?
第二个问题
当我在linux终端上运行jar时,它会说:
Exception in thread "main" java.lang.UnsupportedClassVersionError:
ImageBrowser/Main : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:643)
at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
Could not find the main class: ImageBrowser.Main. Program will exit.

我将向您保证,从项目属性中,我已经定义了主类….
任何帮助我的人,他都会救我!!提前谢谢!

最佳答案

正如评论所提到的,您的程序正在Windows机器上不存在的路径中寻找您的映像(SRC/ICONS,您执行JAR文件)。
要在Java程序中使用类似图像的内容,请使用资源加载程序。Here是一个很好的概述。
最终你会得到这样的结果:

ImageIcon icon = new ImageIcon(this.getClass().getResource("my_photo_name.jpg"));

09-10 14:44
查看更多