构造函数未定义,即使明确导入?

时间:2011-12-09 07:49:10

标签: java timer undefined

所以我一点一点地获得这方面的经验,但这个问题似乎很奇怪,而且几乎不公平,我不知道该怎么做。要解释一下,这是我的代码:

import java.awt.*;
import java.util.*;
import javax.media.j3d.*;
import javax.swing.Timer; //I import the Timer class here, it is accepted
import javax.vecmath.*;
import com.sun.j3d.utils.universe.*;
import com.sun.j3d.utils.behaviors.keyboard.*;
import com.sun.j3d.utils.behaviors.vp.*;
import com.sun.j3d.utils.geometry.*;

public class Scene extends BranchGroup {
public Scene () {

Transform3D translate = new Transform3D ();
translate.setTranslation (new Vector3d (0f, 0f, -10.f));
TransformGroup objTranslate = new TransformGroup (translate);
this.addChild (objTranslate);

Box box = new Box (0.7f, 0.7f, 0.7f, new Appearance());
objTranslate.addChild (box);

javax.swing.Timer timer = new javax.swing.Timer(5, this); //error message "The constructor Timer(int, Scene) is undefined"
timer.start();
}
}

不要过多关注代码的最大部分,它仍然是草稿,稍后会进行细化。问题在于计时器,它总是返回The constructor Timer(int, Scene) is undefined。我尽可能多地添加了导入,尽可能清楚地定义了Timer类的导入,等等。timer.start()工作正常,所以我认为无论如何都要识别类。但该程序将无法运行,因为它未定义。即使是进口的。我不明白为什么。

你们其中一个人是否有想法,或者能够解释发生了什么?

谢谢!

1 个答案:

答案 0 :(得分:4)

您的Scene课程没有实施ActionListener。请参阅 here here

换句话说,Timer类没有带intSceneBranchGroup的构造函数。它只有一个构造函数,它带有intActionListener