私はちょうど JOGLを勉強し始めましたが、1つの問題があります。JOGL - 作業中の色がありません
以下は2つの方法の簡単な実装です GLEventListener。
@Override
public void init(GLDrawable glDrawable) {
GL gl = glDrawable.getGL();
GLU glu = glDrawable.getGLU();
gl.glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
glu.gluOrtho2D(0.0, 600.0, 0.0, 500.0);
}
@Override
public void display(GLDrawable glDrawable) {
GL gl = glDrawable.getGL();
gl.glPointSize(100.0f);
gl.glColor3f(0.0f, 1.0f, 0.0f);
gl.glBegin(GL.GL_POINTS);
gl.glVertex2i(300, 250);
gl.glEnd();
gl.glEnd();
}
これは、JFrameウィンドウにコンポーネントを挿入する方法です。
package scribble;
import net.java.games.jogl.GLCanvas;
import net.java.games.jogl.GLCapabilities;
import net.java.games.jogl.GLDrawableFactory;
import javax.swing.*;
import java.awt.*;
public class ScribbleComponent extends JFrame {
public static void main(String[] args) {
ScribbleComponent component = new ScribbleComponent();
ScribbleRunnable runnable = new ScribbleRunnable(component);
SwingUtilities.invokeLater(runnable);
}
public ScribbleComponent() {
super("Scribble");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
GLCapabilities glCapabilities = new GLCapabilities();
GLCanvas glCanvas = GLDrawableFactory.getFactory().createGLCanvas(glCapabilities);
glCanvas.addGLEventListener(new ScribbleListener());
getContentPane().add(glCanvas, BorderLayout.CENTER);
getContentPane().add(new JButton("Clear Screen"), BorderLayout.SOUTH);
setSize(600, 500);
ScribbleHelper.centerWindow(this);
}
}
ScribbleRunnable(成分)コンポーネントが可視となります。
ScribbleHelper.centerWindow(this) JFrameウィンドウのちょうど中央に配置。
私は白い背景に緑色の正方形が見えます。
最初のコンピュータでは正常に動作しますが、2番目のコンピュータでは黒い背景に暗い赤色の四角形が表示されます。それはいつも起こる、私は他の色を設定することはできません。
両方のコンピュータは、JDK 1.6と同じライブラリを使用してWindows 7を実行しています。
どこが問題なのですか?