Java3Dが動かない

このQ&Aのポイント
  • Javaでプログラミングをしているが、Java3Dが動かない。
  • WindowsXPでJava3Dを使用して3Dのスタンドアロンアプリケーションを作ろうとしているが、コンパイルエラーが発生している。
  • インストールしたものはjdk-1_5_0_11-windows-i586-p.exeとjava3d-1_5_0-windows-i586.exeであり、java3D以外のjavaプログラムは動作している。
回答を見る
  • ベストアンサー

java3dが動かない

javaでプログラミングをしています. WindowsXPでJava3Dを使って3Dのスタンドアローンで動くアプリケーション(javaアプレットではないもの)を作ろうと思っています. しかし,プログラムがコンパイルエラーになってしまいます. プログラム自体は書籍のCD-ROMについてきたものなのでバグは無いはずです. 以下に必要な情報を示します. ・インストールしたもの(java3Dの書籍付属のCD-ROMから)   jdk-1_5_0_11-windows-i586-p.exe   java3d-1_5_0-windows-i586.exe ・コンパイルエラーの内容   : パッケージ javax.media.j3d は存在しません。   : パッケージ javax.vecmath は存在しません。   : パッケージ com.sun.j3d.utils.universe は存在しません。   : パッケージ com.sun.j3d.utils.geometry は存在しません。 ・java3Dを用いないjavaプログラムは動作する

  • Java
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
noname#160244
noname#160244
回答No.1

クラスパスが設定されていないのでは? http://www.kohgakusha.co.jp/qa/qapreview.cgi?id=3534

参考URL:
http://www.kohgakusha.co.jp/qa/qapreview.cgi?id=3534
gb-club
質問者

お礼

どうもありがとうございました。 JDKのインストール時にパス設定すればjava3dインストール時には設定は必要ないと教本には書いてありました。 参考URLにあることをすべて行ったら実行できました。

関連するQ&A

  • javaで3Dを作りたいんですが、コンパイルしたときに

    javaで3Dを作りたいんですが、コンパイルしたときに FirstApplet.java:5: com.sun.j3d.utils.applet.MainFrame にアクセスできません。 クラスファイル C:\j2sdk1.4.2_14\jre\lib\ext\j3dutils.jar(com/sun/j3d/utils/applet/MainFrame.class) は不正です。 クラスファイルのバージョン 49.0 は不正です。48.0 であるべきです。 削除するか、クラスパスの正しいサブディレクトリにあるかを確認してください。 import com.sun.j3d.utils.applet.MainFrame; とエラーが出てしまい、実行できません。 環境 Windows Vista 使用ソフト J2SE Development kit 5.0 J2SE Runtime Environment 5.0 Java 2 Runtime Environment,SE v1.4.2_14 Java 2 SDK,SE v1.4.2_14 Java 3D 1.5.1 CPad for Java2 SDK 2.31 これの直し方知ってる人がいましたら教えてください。

  • Javaで作成した3D画像をIEに表示したいのですが・・

    以下のプログラムをIEで表示したいのですが、その方法が分かりません。 どこをどのように変更すれば表示できるようになるのでしょうか?(ちなみにappletviewerでは問題なく表示できます。) 回答をお待ちしています。 import java.applet.*; import java.awt.*; import javax.media.j3d.*; import javax.vecmath.*; import com.sun.j3d.utils.universe.*; import com.sun.j3d.utils.picking.behaviors.*; import com.sun.j3d.utils.applet.MainFrame; /*アプレットの作成*/ public class Fusen extends Applet { public Fusen() { //3D描画内容(省略します) } /*作成したクラスファイルの呼び出し*/ public static void main( String[]argV ){ Fusen fusen = new Fusen(); //Fusenクラスのインスタンスを生成 MainFrame mainFrame = new MainFrame(fusen, 500, 500); //MainFrameクラスのインスタンスを生成 } }

    • ベストアンサー
    • Java
  • java3Dについておききします

    javaのバージョンは1.6.0_27です 困ってる内容は現在javaSDをEclipse3.5で使おうとjavaSDをインストールしてネットで調べながらやってますがうまくいいかないです いまどうなってるか画像をみて欲しいです 上手く言ってない理由はこのようなエラーが返ってなかなかすすみません 説明 リソース パス ロケーション 型 アクセス制限: 型 BranchGroup は必須ライブラリー C:\Program Files\Java\jdk1.6.0_27\jre\lib\ext\j3dcore.jar で制限されているためアクセスできません Java3D_first_test.java /01-01/src 行 31 Java 問題 説明 リソース パス ロケーション 型 アクセス制限: 型 SimpleUniverse は必須ライブラリー C:\Program Files\Java\jdk1.6.0_27\jre\lib\ext\j3dutils.jar で制限されているためアクセスできません Java3D_first_test.java /01-01/src 行 28 Java 問題 説明 リソース パス ロケーション 型 アクセス制限: 型 Transform3D は必須ライブラリー C:\Program Files\Java\jdk1.6.0_27\jre\lib\ext\j3dcore.jar で制限されているためアクセスできません Java3D_first_test.java /01-01/src 行 37 Java 問題 説明 リソース パス ロケーション 型 アクセス制限: 型 TransformGroup は必須ライブラリー C:\Program Files\Java\jdk1.6.0_27\jre\lib\ext\j3dcore.jar で制限されているためアクセスできません Java3D_first_test.java /01-01/src 行 34 Java 問題 //****************************************************************************** //Java3D とりあえず動作確認するプログラム //カラーキューブ回転 //****************************************************************************** //============================================================================== //インポート・ファイル import javax.media.j3d.*; import javax.vecmath.*; import com.sun.j3d.utils.universe.*; import com.sun.j3d.utils.geometry.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; import java.util.*; import java.util.Timer; public class Java3D_first_test { //============================================================================= //クラスのフィールド //仮想空間全体 SimpleUniverse universe; //オブジェクトのためのグループ BranchGroup group1; //オブジェクトの座標変換のためのグループ TransformGroup transform_group1; //オブジェクトの座標変換のためのクラス Transform3D transform1; //回転角を管理 float rot_value; //============================================================================= //メイン・メソッド public static void main(String[] args) { Java3D_first_test test = new Java3D_first_test(); } } javaSDのライブラリはインポート文はエラー返ってないですが・・・ お優しくお願いします。なにが原因かわからずじまいな状態です

    • ベストアンサー
    • Java
  • JAVA3D実行時のエラー

    JAVA3Dを使って3次元で描画をしてみようかと思ったのですが セットアップしているときに以下のようなエラーがでてしまい 解決方法が分かりません どなたか、教えていただけないでしょうか? ---------------------------------------------------------------- Sample3D.java:5: com.sun.j3d.utils.geometry.ColorCube にアクセスできません。 クラスファイル C:\j2sdk1.4.2_14\jre\lib\ext\j3dutils.jar(com/sun/j3d/utils/geome try/ColorCube.class) は不正です。 クラスファイルのバージョン 49.0 は不正です。48.0 であるべきです。 削除するか、クラスパスの正しいサブディレクトリにあるかを確認してください。 import com.sun.j3d.utils.geometry.ColorCube; ^ エラー 1 個 ---------------------------------------------------------------- インストール環境は 今までは j2sdk1.4.2_14(win)を使っていました そこに java3d-1_5_0(win) インストールしようとしたという感じです よろしくお願いします

    • ベストアンサー
    • Java
  • Java3Dで三角形を回転させたい

    Java3D初心者です。 三角形を表示しy軸回転をさせて円すいのような形を作りたいのですが、なかなか進みません。 とりあえず三角形をを表示させるプログラムを作り、 それをRotationInterpolatorクラスに従って回転させるプログラムを作りたいのですが、エラーが出てしまいます。 ご指摘お願いします。 三角形プログラム↓ import java.applet.Applet; import java.awt.BorderLayout; import java.awt.event.*; import java.awt.GraphicsConfiguration; import com.sun.j3d.utils.applet.MainFrame; import com.sun.j3d.utils.universe.*; import javax.media.j3d.*; import javax.vecmath.*; public class Sample3D3 extends Applet {  public BranchGroup createSceneGraph() { BranchGroup objRoot = new BranchGroup();     TransformGroup objTrans = new TransformGroup(); objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE); objRoot.addChild(objTrans);     Point3d[] vertices = new Point3d[3]; vertices[0] = new Point3d(-0.9, 0.5, 0.0); vertices[1] = new Point3d(-0.9, -0.9, 0.0); vertices[2] = new Point3d(0.0, -0.9,0.0); TriangleArray geometry = new TriangleArray(vertices.length,GeometryArray.COORDINATES);     geometry.setCoordinates(0, vertices);     Shape3D shape = new Shape3D(geometry);     objRoot.addChild(shape);     objRoot.compile();     return objRoot;} public Material material3; public TransformGroup transformGroup4; public Transform3D transform3D4; public Sample3D3() { setLayout(new BorderLayout()); GraphicsConfiguration config =            SimpleUniverse.getPreferredConfiguration();     Canvas3D c = new Canvas3D(config); add("Center", c);     BranchGroup scene = createSceneGraph(); SimpleUniverse u = new SimpleUniverse(c);  u.getViewingPlatform().setNominalViewingTransform();     u.addBranchGraph(scene);} public static void main(String[] args) { new MainFrame(new Sample3D3(), 400, 400); } } 回転プログラム↓ import java.applet.*; import java.awt.*; import javax.media.j3d.*; import javax.vecmath.*; import com.sun.j3d.utils.universe.*; import com.sun.j3d.utils.applet.MainFrame; public class Jikken extends Applet { public Jikken() { Canvas3D canvas3D = new Canvas3D(SimpleUniverse.getPreferredConfiguration()); BorderLayout borderLayout = new BorderLayout();  this.setLayout( borderLayout);  this.add( canvas3D, BorderLayout.CENTER); SimpleUniverse simpleUniverse = new SimpleUniverse(canvas3D);  simpleUniverse.getViewingPlatform().setNominalViewingTransform(); BranchGroup objRoot = new BranchGroup(); DirectionalLight directionalLight = new DirectionalLight(); TransformGroup transformGroup = new TransformGroup(); Sample3D3 sample3D3 = new Sample3D3(); BoundingSphere boundingSphere = new BoundingSphere(); transformGroup.setCapability( TransformGroup.ALLOW_TRANSFORM_WRITE); Alpha alpha = new Alpha(); RotationInterpolator rotationInterpolator = new RotationInterpolator(alpha,transformGroup); rotationInterpolator.setSchedulingBounds(boundingSphere); directionalLight.setInfluencingBounds(boundingSphere); transformGroup.addChild(rotationInterpolator); transformGroup.addChild(sample3D3); objRoot.addChild(transformGroup); objRoot.addChild(directionalLight); simpleUniverse.addBranchGraph(objRoot); } public static void main(String[] argV){ Jikken jikken = new Jikken(); MainFrame mainFrame = new MainFrame(jikken,500,500); } } これで回転プログラムを実行すると、 型 Group のメソッド addChild(Node) は引数 (Sample3D3) に適用できません。という内容のエラーが表示されます。 読みにくくてすみませんがよろしくお願いします。

    • ベストアンサー
    • Java
  • コンパイルエラー

    過去ログも参考にしたのですが、解決しませんでしたので、よろしくお願いします!! コンパイルすると、下のエラーが出てしまいます。 どこかへのクラスパスが足りないのかな?とは思うのですが、一体どこへ?(T△T) パッケージ com.sun.odi.tree は存在しません。 import com.sun.xml.tree.*; --code-- import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; import org.w3c.dom.*; import com.sun.xml.tree.*; -------- [Win2k,tomcat4.0.6,J2sdk1.4.1]です。

  • .javaのファイルがコンパイルできない

    .javaファイルをコンパイルしようと思いデスクトップ上にファイルを置きコマンドプロンプトでjavacコマンドを使用したところ Sample016.java:3: パッケージ javax.servlet.http は存在しません。 import javax.servlet.http.HttpServlet; Sample016.java:15: シンボルを見つけられません。 などのエラーが出てしまいます。 どのような解決方法があるのでしょうか。 また、この問題の解決にjavaのファイルに入っていたsrc.zipは関係あるのでしょうか? src.zipを解凍したところjavaxなどが入っていたため何かに使うののだろうかと思ったのですが もうひとつ質問があるのですが、もしコンパイルすることができtomcatを使って動作を確認する時はROOT以下に.javaと.classを置いてjavaの方を呼び出せばいいのでしょうか? 急いで書いてしまったのでわかりにくいかもしれませんが、わかるかたいらっしゃいましたらよろしくお願いします。

  • Java3Dをインストールしたが動作エラーとなりま

    JDK1.8.0_74をインストールし、コンパイル、正常動作も行われていました。 そこで、次にJava3D API(java3d-1_5_1-windows-amd64.exe)をインストールしました。 コマンドプロンプトでサンプルプログラムのコンパイルをした後、実行すると末尾に記載のメッセージが表示されてしまいます。 JDKの環境変数のうちユーザー環境変数に TEMP と TMP の2つが表示されていますが、PATH (bin フォルダ)の指定がなく、これが原因しているのではないかと思いますが、新規にPATHを作る場合の変数値をどのようにしたらよいかわかりません。 尚、システム環境変数については、PATHが・・・\Program Files\Java\ jdk1.8.0_74\bin; となっています。(・・・の部分は設定変更をしていません) 上記以外のことが原因しているのであれば、併せて教えてください。 メッセージ Error: A JNI error has occurred, please check your installation and try again Exception in thread "main" java.lang.NoClassDefFoundError: javax/media/j3d/Canva s3D at java.lang.Class.getDeclaredMethod0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Unknown Source) at java.lang.Class.privateGetMethodRecursive(Unknown Source) at java.lang.Class.getMethod0(Unknown Source) at java.lang.Class.getMethod(Unknown Source) at sun.launcher.LauncherHelper.validateMainClass(Unknown Source) at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source) Caused by: java.lang.ClassNotFoundException: javax.media.j3d.Canvas3D at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.mice.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 7 more

  • java3D ボタンクリックにより点を動かすには

    java3D ボタンクリックにより点を動かすために下記のようにソースコードを作成しましたが、全く変化なしです。どこをどうすればよいでしょうか? import java.applet.*; import java.awt.*; import java.awt.event.*; import javax.media.j3d.*; import javax.vecmath.*; import javax.swing.*; import javax.swing.JApplet.*; import javax.swing.JFrame.*; import javax.media.j3d.*; import com.sun.j3d.utils.applet.*; import com.sun.j3d.utils.universe.*; import com.sun.j3d.utils.geometry.*; import com.sun.j3d.utils.picking.*; import com.sun.j3d.utils.picking.behaviors.*; public class J3D82 extends JApplet { JButton b1; GraphicsConfiguration config=SimpleUniverse.getPreferredConfiguration(); Canvas3D canvas=new Canvas3D(config); SimpleUniverse universe=new SimpleUniverse(canvas); BranchGroup root=new BranchGroup(); TransformGroup trans1=new TransformGroup(); Transform3D tr=new Transform3D(); Shape3D gggrid1=null; public J3D82() { setLayout(new BorderLayout()); add(canvas,BorderLayout.CENTER); JPanel panel=new JPanel(); GridLayout g1=new GridLayout(1,1); add(panel,BorderLayout.NORTH); JButton b1=new JButton("移動"); panel.setLayout(g1); panel.add(b1); root.setCapability(BranchGroup.ALLOW_DETACH); root.setCapability(BranchGroup.ALLOW_CHILDREN_WRITE); trans1.setCapability(TransformGroup.ALLOW_TRANSFORM_READ); trans1.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE); root.addChild(trans1); double x=0.2; double y=0.2; double z=0.2; Point3d[] po1=new Point3d[2]; po1[0]=new Point3d(x,y,z); po1[1]=new Point3d(x,-y,-z); float[] colorPo1={1.0f,0.0f,0.0f, 1.0f,0.0f,0.0f}; PointArray ge1=new PointArray(po1.length, GeometryArray.COORDINATES | GeometryArray.COLOR_3); ge1.setCoordinates(0,po1); ge1.setColors(0,colorPo1); Appearance appp1=new Appearance(); appp1.setCapability(Appearance.ALLOW_POINT_ATTRIBUTES_READ); appp1.setCapability(Appearance.ALLOW_POINT_ATTRIBUTES_WRITE); PointAttributes ppo1=new PointAttributes(); ppo1.setPointSize(25.0f); ppo1.setPointAntialiasingEnable(true); appp1.setPointAttributes(ppo1); Shape3D gggrid1=new Shape3D(ge1,appp1); gggrid1.setCapability(Shape3D.ALLOW_GEOMETRY_READ); gggrid1.setCapability(Shape3D.ALLOW_GEOMETRY_WRITE); trans1.addChild(gggrid1); universe.getViewingPlatform().setNominalViewingTransform(); universe.addBranchGraph(root); b1.addActionListener(new Listener1()); } public class Listener1 implements ActionListener { public void actionPerformed(ActionEvent e) { if(e.getSource()==b1){ Transform3D tr=new Transform3D(); Vector3d vector=new Vector3d(0.2,0.1,0.0); trans1.getTransform(tr); tr.setTranslation(vector); trans1.setTransform(tr); trans1.addChild(gggrid1); } } } public static void main(String[] args) { JFrame f= new JFrame(); J3D82 frame=new J3D82(); frame.init(); f.getContentPane().add(frame,BorderLayout.CENTER); f.setSize(500,500); f.setTitle("Kuukan:点移動ボタン"); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setVisible(true); } }

    • ベストアンサー
    • Java
  • javaのプログラムで間違い箇所が分からない。

    <<Javaサンプルプログラム集:共立出版(株)という 書籍でjavaの勉強をしています。 付属のCD-ROMのサンプルプログラムコンパイルはできるのですが、アプレット起動出来ません。 何故なんでしょう??

    • ベストアンサー
    • Java

専門家に質問してみよう