前提・実現したいこと
今回初めて質問するプログラミング初心者です。
#####クラスパスを設定してJOGLで動くように書かれたプログラムを実行したいです。
ネットで調べた通りにプログラムを動かそうとしたものの
クラスパスの設定方法が分からずプログラムが動かせません。
発生している問題・エラーメッセージ
クラスパスが設定されていないためかパッケージが見つからないとされてしまい, うまく動きませんでした。 以下エラー文です。 CubePosition.java:7: エラー: シンボルを見つけられません public class CubePosition extends GLCanvas implements GLEventListener{ ^ シンボル: クラス GLCanvas CubePosition.java:7: エラー: シンボルを見つけられません public class CubePosition extends GLCanvas implements GLEventListener{ ^ シンボル: クラス GLEventListener CubePosition.java:15: エラー: シンボルを見つけられません protected Gl2 gl; ^ シンボル: クラス Gl2 場所: クラス CubePosition CubePosition.java:16: エラー: シンボルを見つけられません protected GLU glu; ^ シンボル: クラス GLU 場所: クラス CubePosition CubePosition.java:45: エラー: シンボルを見つけられません public void init(GlAutoDrawable drawable){ ^ シンボル: クラス GlAutoDrawable 場所: クラス CubePosition CubePosition.java:53: エラー: シンボルを見つけられません public void reshape(GlAutoDrawable drawable, ^ シンボル: クラス GlAutoDrawable 場所: クラス CubePosition CubePosition.java:68: エラー: シンボルを見つけられません public void display(GlAutoDrawable drawable){ ^ シンボル: クラス GlAutoDrawable 場所: クラス CubePosition CubePosition.java:95: エラー: シンボルを見つけられません public void dispose(GlAutoDrawable drawable){ ^ シンボル: クラス GlAutoDrawable 場所: クラス CubePosition CubePosition.java:3: エラー: パッケージcom.jogamp.openglは存在しません import com.jogamp.opengl.*; ^ CubePosition.java:4: エラー: パッケージcom.jogamp.opengl.gluは存在しません import com.jogamp.opengl.glu.*; ^ CubePosition.java:5: エラー: パッケージcom.jogamp.opengl.awtは存在しません import com.jogamp.opengl.awt.*; ^ CubePosition.java:21: エラー: シンボルを見つけられません setSize(500,500); ^ シンボル: メソッド setSize(int,int) 場所: クラス CubePosition CubePosition.java:22: エラー: シンボルを見つけられません addGLEventListener(this); ^ シンボル: メソッド addGLEventListener(CubePosition) 場所: クラス CubePosition CubePosition.java:25: エラー: addに適切なメソッドが見つかりません(CubePosition) f.add(this); ^ メソッド Component.add(PopupMenu)は使用できません (引数の不一致: CubePositionをPopupMenuに変換できません:) メソッド Container.add(Component)は使用できません (引数の不一致: CubePositionをComponentに変換できません:) CubePosition.java:47: エラー: シンボルを見つけられません glu=new GLU(); ^ シンボル: クラス GLU 場所: クラス CubePosition CubePosition.java:49: エラー: シンボルを見つけられません gl.glEnable(Gl2.GL_DEPTH_TEST); ^ シンボル: 変数 Gl2 場所: クラス CubePosition CubePosition.java:50: エラー: シンボルを見つけられません gl.glEnable(GL2.GL_CULL_FACE); ^ シンボル: 変数 GL2 場所: クラス CubePosition CubePosition.java:59: エラー: シンボルを見つけられません gl.glMatrixMode(GL2.GL_PROJECTION); ^ シンボル: 変数 GL2 場所: クラス CubePosition CubePosition.java:63: エラー: シンボルを見つけられません gl.glMatrixMode(GL2.GL_MODELVIEW); ^ シンボル: 変数 GL2 場所: クラス CubePosition CubePosition.java:69: エラー: シンボルを見つけられません gl.glClear(GL2.GL_COLOR_BUFFER_BIT|Gl2.Gl_Depth_BUFFER_BIT); ^ シンボル: 変数 GL2 場所: クラス CubePosition CubePosition.java:69: エラー: シンボルを見つけられません gl.glClear(GL2.GL_COLOR_BUFFER_BIT|Gl2.Gl_Depth_BUFFER_BIT); ^ シンボル: 変数 Gl2 場所: クラス CubePosition CubePosition.java:85: エラー: シンボルを見つけられません gl.flBigin(GL2.GL_QUADS); ^ シンボル: 変数 GL2 場所: クラス CubePosition
該当のソースコード
Java
1import java.awt.*; 2import java.awt.event.*; 3import com.jogamp.opengl.*; 4import com.jogamp.opengl.glu.*; 5import com.jogamp.opengl.awt.*; 6 7public class CubePosition extends GLCanvas implements GLEventListener{ 8 public static void main(String[] args){ 9 if(args.length ==3) 10 (new CubePosition("CubePosition",args)).showFrame(); 11 else 12 (new CubePosition("CubePosition")).showFrame(); 13 } 14 private Frame f; 15 protected Gl2 gl; 16 protected GLU glu; 17 protected double eye_x=4.0,eye_y=3.0,eye_z=7.0; 18 19 protected CubePosition(String name){ 20 super(); 21 setSize(500,500); 22 addGLEventListener(this); 23 24 f=new Frame(name); 25 f.add(this); 26 f.pack(); 27 f.addWindowListener(new WindowAdapter(){ 28 public void windowClosing(WindowEvent e){ 29 System.exit(0); 30 } 31 }); 32 } 33 34 protected CubePosition(String name,String[] args){ 35 this(name); 36 eye_x=Double.parseDouble(args[0]); 37 eye_y=Double.parseDouble(args[1]); 38 eye_z=Double.parseDouble(args[2]); 39 } 40 41 protected void showFrame(){ 42 f.setVisible(true); 43 } 44 45 public void init(GlAutoDrawable drawable){ 46 gl=drawable.getGL().getGL2(); 47 glu=new GLU(); 48 gl.glClearColor(0.0f,0.0f,0.0f,1.0f); 49 gl.glEnable(Gl2.GL_DEPTH_TEST); 50 gl.glEnable(GL2.GL_CULL_FACE); 51 } 52 53 public void reshape(GlAutoDrawable drawable, 54 int x,int y, int w, int h){ 55 final double fieldOfView=25.0,near=1.0,far = 20.0; 56 double aspect=(double)w/(double)h; 57 58 gl.glViewport(0,0,w,h); 59 gl.glMatrixMode(GL2.GL_PROJECTION); 60 gl.glLoadIdentity(); 61 glu.gluPerspective(fieldOfView,aspect,near,far); 62 63 gl.glMatrixMode(GL2.GL_MODELVIEW); 64 gl.glLoadIdentity(); 65 glu.gluLookAt(eye_x,eye_y,eye_z,0.0,0.0,0.0,0.0,1.0,0.0); 66 } 67 68 public void display(GlAutoDrawable drawable){ 69 gl.glClear(GL2.GL_COLOR_BUFFER_BIT|Gl2.Gl_Depth_BUFFER_BIT); 70 cubeDisplay(); 71 } 72 73 static float[][] vertics= 74 {{-1.0f,-1.0f,-1.0f},{1.0f,-1.0f,-1.0f},{1.0f,1.0f,-1.0f}, 75 {-1.0f,1.0f,-1.0f},{-1.0f,-1.0f,1.0f},{1.0f,-1.0f,1.0f}, 76 {1.0f,1.0f,1.0f},{-1.0f,1.0f,1.0f}}; 77 78 static int[][] faces= 79 {{1,2,6,5},{2,3,7,6},{4,5,6,7},{0,4,7,3},{0,1,5,4},{0,3,2,1}}; 80 static float[][] colors= 81 {{0.0f,1.0f,1.0f},{1.0f,0.0f,1.0f},{1.0f,1.0f,0.0f}, 82 {0.0f,0.5f,0.5f},{0.5f,0.0f,0.5f},{0.5f,0.5f,0.0f}}; 83 84 protected void cubeDisplay(){ 85 gl.flBigin(GL2.GL_QUADS); 86 for(int i=0;i<faces.length;i++){ 87 gl.glColor3fv(colors[i],0); 88 for(int j=0;j<faces[i].length;j++) 89 gl.glVertex3fv(vertics[faces[i][j]],0); 90 } 91 gl.glEnd(); 92 gl.glFlush(); 93 } 94 95 public void dispose(GlAutoDrawable drawable){ 96 97 } 98}
試したこと
export CLASSPATH=~/user/
のようにするとクラスパスを設定できるということだったのでターミナルで入力したのですが、動きませんでした。
補足情報(FW/ツールのバージョンなど)
JavaはJDK12
JoGLは現在ダウンロードできる最新版を利用しています。
JOGLのサイトから7zファイルをダウンロードし、中身を開くところまでは良かったのですが、現在はこの時点で止まってしまっています。
回答1件
あなたの回答
tips
プレビュー