Eclipse 编译 JFrame的子类不过,DOS下是好的。

yakai 2010-05-01 12:23:17
新手刚开始学习。

Eclipse SDK

Version: 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);
}
}

...全文
170 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
胡小来 2012-02-23
  • 打赏
  • 举报
回复
额? src能解决你的问题? 你不会是拿去加到你的包里了吧?
fbbobo 2010-05-17
  • 打赏
  • 举报
回复
在工程里的java buildpath里设定好source
yakai 2010-05-17
  • 打赏
  • 举报
回复
顶啊。
yakai 2010-05-17
  • 打赏
  • 举报
回复
终于知道了,关键是要解压C:\Program Files\Java\jdk1.7.0\src.zip这个文件啊,这个文件里面就是库的源文件。一切OK
yakai 2010-05-17
  • 打赏
  • 举报
回复
问题应该是如何配置eclipse,使它能找到JFrame并正确解析,eclipse默认的库里面应该没有JFrame。
yakai 2010-05-17
  • 打赏
  • 举报
回复
还是不行啊,能详细点么?
yakai 2010-05-01
  • 打赏
  • 举报
回复
还是不行啊,报这个错:

Exception in thread "main" java.lang.Error: Unresolved compilation problem:

at MyRect2D.main(MyRect2D.java:24)


好像就是和使用的类有关系,只要是继承画图的类就编不过去的。
yakai 2010-05-01
  • 打赏
  • 举报
回复
把JFrame换成Frame就可以编译通过了,是不是javac和eclipse读取import的路径不一样啊,eclipse的路径在哪设?
一头头 2010-05-01
  • 打赏
  • 举报
回复
这个是老问题了

你把你那个工程删掉 再建立一个新的 然后把这个类复制过去就可以运行了

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧