java程序用eclipse无法运行!

import java.awt.event.*;
import acm.graphics.*;

class MyCanvas extends GCanvas implements ComponentListener{
public MyCanvas(){
addComponentListener(this);
rect = new GRect(BW,BH);
rect.setFilled(true);
}

public void update(){
removeAll();
add(rect,(getWidth()-BW)/2,(getHeight()-BH)/2);
}

public void componentResized(ComponentEvent e) {update();}
public void componentMoved(ComponentEvent e) {}
public void componentShown(ComponentEvent e) {}
public void componentHidden(ComponentEvent e) {}

private static final double BW = 50;
private static final double BH = 50;
private GRect rect;
}

原因一:java程序如果没有main方法入口,那么纯java Project是无法正常运行的;
原因二:jdk配置有问题。建议查看下jdk配置是否有问题(jdk和eclipse位数必须一致),如果此配置有问题的话,eclipse就会无法运行。
如:jdk安装在“D:\Program Files\jdk1.7.0_10”

第一步:新建“java_home”值,输入“D:\Program Files\jdk1.7.0_10”;
第二步:新建“classpath”值,输入“.;%java_home%\lib”;
第三步:在path中增加“%java_home%\bin”;
备注:配置环境变量在“计算机”右击“属性”,之后选择“高级环境变量”,在选择“环境变量”即可。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-05
我不知道你要表达什么意思,仅仅给出这个类怎么看错误,你的测试类呢?还有你继承的父类呢,继承了父类哪些东西呢?在这个类下你想运行什么东西呢?你只能带有main方法的测试类中运行啊,没有main方法当然会报错,还有update方法是重写父类的吗?,那个removeAll方法在哪里呢?是通过对象调用还是类调用?从基础学起吧,你再加上这两个方法试试。
public MyCanvas(){
}

public static void main(String[] args){
MyCanvas mycanvas=new MyCanvas();
mycanvas.update();
System.out,println("no Exception");

}本回答被提问者和网友采纳
第2个回答  2012-10-27
只有这一个源文件吗?追问

是的!

追答

只有这个你怎么运行?
acm这个jar包写的图形程序是要继承GraphicsProgram类并且重写run()方法,好像才行

追问

编译也出错

追答

编译出错了吗,没有红叉呀

第3个回答  2012-10-27
老兄,我对awt不太熟。GCanvas应该是你自己写的一个吧;你的构造方法里也缺东西;update方法看不懂是什么意思。好好学吧。
第4个回答  2012-10-27
呵呵~~楼下正解~~
相似回答