新手刚开始学习。Eclipse SDKVersion: 3.5.2
Build id: M20100211-1343就两个文件MyRect2D.java和MyWindowListener.java。 在外面DOS下, javac 和java都可以正常编译运行,但是在eclipse里面就老是报如下错误。如果不是建立JFrame的子类,比如hello world之类的就程序就可以在eclipse里面正常运行。在Run Configurations...里面设置JRE 为jdk1.7.0或jre1.7.0都不行,是不是还有什么地方需要设置啊?我装了一个jre1.7.0,还有一个jdk1.7.0,或者是下面学习的代码太老的关系?Error: Could not find main class MyRect2D
Exception in thread "main" java.lang.NoClassDefFoundError: MyRect2D
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: MyRect2D
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 1 more
以下是源码:import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.awt.geom.*;public class MyRect2D extends JFrame{
public MyRect2D() {
super("MyRect2D:绘2D图形");
setSize(240, 160);
show();
}

public void paint(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
g2d.setPaint(Color.red);
g2d.setStroke(new BasicStroke(6.0f));
g2d.draw(new Rectangle2D.Double(80, 40, 70, 100));
}


/**
 * @param args
 */
public static void main(String[] args){
// TODO Auto-generated method stub
MyRect2D app = new MyRect2D();
app.addWindowListener(new MyWindowListener());
}}import java.awt.*;
import java.awt.event.*;class MyWindowListener extends WindowAdapter {
 public void windowClosing(WindowEvent e)
   {
   System.exit(1);
   }
 }

解决方案 »

  1.   

    还是不行啊,报这个错:Exception in thread "main" java.lang.Error: Unresolved compilation problem:  at MyRect2D.main(MyRect2D.java:24)
    好像就是和使用的类有关系,只要是继承画图的类就编不过去的。
      

  2.   

    把JFrame换成Frame就可以编译通过了,是不是javac和eclipse读取import的路径不一样啊,eclipse的路径在哪设?
      

  3.   

    在工程里的java buildpath里设定好source
      

  4.   

    问题应该是如何配置eclipse,使它能找到JFrame并正确解析,eclipse默认的库里面应该没有JFrame。
      

  5.   

    终于知道了,关键是要解压C:\Program Files\Java\jdk1.7.0\src.zip这个文件啊,这个文件里面就是库的源文件。一切OK
      

  6.   

    额? src能解决你的问题? 你不会是拿去加到你的包里了吧?