JOGL - GLJPanel 類



本章節說明了如何使用 GLJpanel 類繪製 JOGL 基本框架。它是一個輕量級 Swing 元件,具備 OpenGL 渲染支援。提供此元件是為了相容 Swing。在此,我們將例項化一個 JFrame,並使用 **add()** 方法將 GLJpanel 物件新增到 JFrame 例項。

以下程式使用帶有 Swing 視窗的 **GLJPanel** 生成了一個基本框架 −

import javax.media.opengl.GLAutoDrawable;
import javax.media.opengl.GLCapabilities;
import javax.media.opengl.GLEventListener;
import javax.media.opengl.GLProfile;
import javax.media.opengl.awt.GLCanvas;

import javax.swing.JFrame;

public class BasicFrame implements GLEventListener {

   @Override
   public void display(GLAutoDrawable arg0) {
      // method body
   }
   
   @Override
   public void dispose(GLAutoDrawable arg0) {
      //method body
   }
   
   @Override
   public void init(GLAutoDrawable arg0) {
      // method body
   }
   
   @Override
   public void reshape(GLAutoDrawable arg0, int arg1, int arg2, int arg3, int arg4) {
      // method body
   }
   
   public static void main(String[] args) {
   
      //getting the capabilities object of GL2 profile
      final GLProfile profile = GLProfile.get(GLProfile.GL2);
      GLCapabilities capabilities = new GLCapabilities(profile);
      
      // The GLJpanel class
      GLJPanel gljpanel = new GLJPanel( glcapabilities ); 
      BasicFrame b = new BasicFrame();
      gljpanel.addGLEventListener(b);
      gljpanel.setSize(400, 400);
      
      //creating frame
      final JFrame frame = new JFrame (" Basic Frame");
      
      //adding canvas to it
      frame.getContentPane().add( gljpanel);
      frame.setSize(frame.getContentPane().getPreferredSize());
      frame.setVisible(true);
      
   }//end of main
	
}//end of classimport

如果你編譯並執行上述程式,將生成以下輸出。它顯示了當使用帶有 swing 視窗的 **GLJPanel** 時形成的基本框架 −

Basic Frame
廣告