我的JTree代码出了什么问题?

时间:2013-02-26 08:01:51

标签: java swing import packaging jtree

我从http://kodejava.org/examples/566.html网站下载了一个JTree程序。它正在编译,但在运行程序时,它给出了这个例外:

Exception in thread "main" java.lang.NoClassDefFoundError: JTreeDifferentNodeIcon (wrong name: org/kodejava/example/swing/JTreeDifferentNodeIcon)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

任何人都可以告诉我会出现什么问题? ThankU。

2 个答案:

答案 0 :(得分:1)

您的包裹是org.kodejava.example.swing。您可以通过指定-d选项来尝试构建javac。为了更好地理解,我们假设您在桌面上有源文件说"C:\Users\sarath_sivan\Desktop\JTreeDifferentNodeIcon.java"

  • 首先,您可以打开命令提示符并将目录更改为 C:\Users\sarath_sivan\Desktopcd C:\Users\sarath_sivan\Desktop)。
  • 然后在那里创建一个名为classes的新文件夹(mkdir classes)。
  • 现在,你可以用javac构建,指定“-d”选项来告诉它 基目录,它将创建适当的包结构。 (javac -d classes JTreeDifferentNodeIcon.java
  • 然后你可以运行java -cp classes org.kodejava.example.swing.JTreeDifferentNodeIcon,这将产生如下输出:

enter image description here

希望这有帮助! 谢谢......

答案 1 :(得分:0)

它说“NoClassDefFoundError”(没有发现类定义错误)所以我认为你正在使用一个之前没有定义的类(可能是因为错误输入或忘记导入某些内容或删除文件或从一个文件夹中移动最终文件到另一个) 附:我还没看过代码(没有足够的时间)