java.lang.NoClassDefFoundError  
 初学请大家多帮助。 
JAVA文件编译成功,但执行出错。 
环境变量设置是正确的 。 
java原文件如下: 
import javax.swing.JFrame; 
import java.awt.Image; 
import java.awt.Toolkit; 
import java.awt.Dimension; class SampleJFrame extends JFrame{ 
    SampleJFrame() 
    { 
       super("Java 示例"); 
       setSize(500,300); 
       setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
       setResizable(false); 
       Image Icon; 
       Toolkit tkit=Toolkit.getDefaultToolkit(); 
       Icon=tkit.getImage("D:\\ptest\\1.gif"); 
       setIconImage(Icon); 
       Dimension screenSize=tkit.getScreenSize(); 
       Dimension framsize=this.getSize(); 
       if(framsize.height>screenSize.height) 
           framsize.height=screenSize.height; 
       if(framsize.width>screenSize.width) 
           framsize.width=screenSize.width; 
       this.setLocation((screenSize.width-framsize.width)/2,(screenSize.height-framsize.height)/2); 
       setVisible(true); 
    } 
    public static void main(String[] args) 
    { 
     try{ 
        SampleJFrame sjf=new SampleJFrame(); 
        } 
        catch(Exception e) 
        {} 
    } 

编译显示出下 
D:\ptest\java>javac SimpleJFrame.java D:\ptest\java>java SimpleJFrame 
Exception in thread "main" java.lang.NoClassDefFoundError: SimpleJFrame 
请大家多多帮助。  
 

解决方案 »

  1.   

    给你测试了,代码没问题。
    应该是你环境问题,看看你的CLASSPATH配置好了没有
    CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\jre\lib;
      

  2.   

    你可以到http://www.bjsxt.com/download.html下载 JDK初步的视频来看, 你没有将class文件所在目录添加到classpath环境变量中.**** http://www.bjsxt.com ****
    **** 北京尚学堂科技java培训 , 为大家服务 , 顺便做点广告 , 请见谅! ****
      

  3.   

    我的CLASSPATH是CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\jre\lib;。为什么还是这样?~
    而且我编译的有一些可以运行成功,有一些不能运行成功
      

  4.   

    如果你的类是位于包里面, 你的class文件必须位于正确地路径下, 例如:package com.bjsxt.test;class T{}首先: T.class必须位于com/bjsxt/test路径下面, 
    而且: com本身所在的目录必须位于classpath中,
    然后: 运行时写 java com.bjsxt.test.T;还有一点需要注意:
    当你重新设置classpath后, 需要启动一个新的命令行窗口才能起作用!**** http://www.bjsxt.com ****
    **** 北京尚学堂科技java培训 , 为大家服务 , 顺便做点广告 , 请见谅! ****