2011-12-09 5 views
1

私はこのことを少しずつ経験していますが、この問題はとても奇妙で、ほとんど不公平で、私は何をすべきか分かりません。説明するために、ここに私のコードは次のとおりです。明確にインポートされていても、コンストラクタは未定義ですか?

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.start()はうまくいきますので、クラスが認識されると思います。しかし、プログラムは実行されません。輸入されたとしても。そして私は理由を知らない。

あなたのアイデアがありますか、何が起こっているのか説明できますか?

ありがとうございます!

+0

"コードの最大部分にあまり注意を払わないでください。それはまだドラフトです" - 将来的には、質問に関連するコードのみを含む完全で短い例を提供してください。 http://tinyurl.com/so-hintsを読んでください –

+0

はい、私は一度それを再読して、ちょうどそれを短くしたと思った(問題がどこにあったか分かりました)、それについて申し訳ありません –

答えて

4

SceneクラスはActionListenerを実装していません。 herehereを参照してください。

つまり、Timerクラスには、intSceneまたはBranchGroupを持つコンストラクタはありません。それはintActionListenerを取るコンストラクタしか持っていません。

+0

Duh、愚かな私は、私はそれを忘れる..ありがとう! –

+0

リンクが壊れています。 – zic10

+0

@ zic10:ありがとう。一定。 – Behrang

関連する問題