JOGL - GLJPanel 类

本章向您介绍如何使用 GLJpanel 类绘制 JOGL 基本框架。它是一个轻量级的 Swing 组件,提供 OpenGL 渲染支持。它是为了与 Swing 兼容而提供的。在这里我们将实例化一个 JFrame,并使用 add() 方法将 GLJpanel 对象添加到 JFrame 的实例中。

以下程序使用 GLJPanel 和 Swing 窗口生成一个基本框架 −

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) {
      // 方法主体
   }
   
   @Override
   public void dispose(GLAutoDrawable arg0) {
      //method body
   }
   
   @Override
   public void init(GLAutoDrawable arg0) {
      // 方法主体
   }
   
   @Override
   public void reshape(GLAutoDrawable arg0, int arg1, int arg2, int arg3, int arg4) {
      // 方法主体
   }
   
   public static void main(String[] args) {
   
        //获取 GL2 配置文件的功能对象
        final GLProfile profile = GLProfile.get(GLProfile.GL2);
        GLCapabilities capabilities = new GLCapabilities(profile);
        
        // GLJpanel 类
        GLJPanel gljpanel = new GLJPanel( glcapabilities );
        BasicFrame b = new BasicFrame();
        gljpanel.addGLEventListener(b);
        gljpanel.setSize(400, 400);
        
        //创建框架
        final JFrame frame = new JFrame (" Basic Frame");
        
        //向其添加画布
        frame.getContentPane().add( gljpanel);
        frame.setSize(frame.getContentPane().getPreferredSize());
        frame.setVisible(true);
      
   }//end of main
	
}//end of classimport

如果编译并执行上述程序,将生成以下输出。 它显示了当我们将 GLJPanel 与 swing 窗口结合使用时形成的基本框架 −

基本框架