【问题标题】:Some Problems in Java & NetbeansJava 和 Netbeans 中的一些问题
【发布时间】:2014-07-22 18:48:32
【问题描述】:

我在 netbeans 中有一个 JAVA GUI 项目(带有调色板)... 主文件夹是“ImageBrowser”。 它有这些文件夹“build”、“dist”、“nbproject”、“src”,以及这些文件“build.xml”、“manifest.mf”。 在文件夹“src”中有文件夹“Icons”、“ImageBrowser” 进入“图标”我有一张图片,在“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.

我会确保你从项目属性中定义了主类....

谁帮助我,谁就救我!!提前致谢!

【问题讨论】:

  • 第一个问题,你需要使用资源加载器。第二个问题,您正在尝试使用 java 7 运行 Java 8 文件。
  • 1.仅当您从包含该路径的目录中执行 jar 文件时,使用这样的相对文件名才有效。另一个目录(更不用说另一台机器),它不会工作。至于第二个,这意味着您安装了多个版本的 java,并且您正在使用比您要运行的版本更新的版本进行编译。
  • @christopher : 什么是资源加载器,我该如何使用它?
  • @zebediah49:我的朋友,我做错了什么?什么目录可以写,我用这个,从什么文件夹,我可以运行我的 jar....我认为 java 适用于任何平台....我无法理解...正如您在 netbeans找到图像,并且从 jar 中找不到...我必须写什么目录?
  • 无论如何感谢大家的快速解答! :)

标签: java linux netbeans


【解决方案1】:

正如 cmets 所提到的,您的程序正在 Windows 机器上不存在的路径(执行 JAR 文件的 src/Icons)中寻找您的图像。

要在您的 java 程序中使用图像之类的东西,请使用资源加载器。 Here 是一个很好的概述。

最终你会得到类似的结果:

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

【讨论】:

  • 朋友谢谢你的回答...我会试试的,我会告诉你发生了什么!
猜你喜欢
  • 2011-04-18
  • 2023-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多