新彩天欢迎您!
幻海优品

JOGL - 带Swing的画布

本章介绍如何使用 Canvas JFrame 类的javax.swing包绘制JOGL基本框架.在这里,我们将实例化一个JFrame,并使用 add()方法将canvas对象添加到JFrame的实例.

使用Canvas和AWT为您提供图形具有重量级功能的框架.要获得轻量级图形框架,您需要使用Swing GLCanvas .将 GLCanvas 与Swing一起使用时,您可以直接在 JFrame 窗口中放置 GLCanvas ,也可以将其添加到 JPanel .

下面给出的是用JOGL的 GLCanvas 类和 JFrame 类组合创建JOGL基本框架的程序. javax.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) {      // 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 canvas      final GLCanvas glcanvas = new GLCanvas(capabilities);      BasicFrame b = new BasicFrame();      glcanvas.addGLEventListener(b);      glcanvas.setSize(400, 400);      //creating frame      final JFrame frame = new JFrame (" Basic Frame");      //adding canvas to it      frame.getContentPane().add(glcanvas);      frame.setSize(frame.getContentPane().getPreferredSize());      frame.setVisible(true);         }//end of main}//end of classimport

如果你编译和执行上述程序,生成以下输出.
它显示了当我们使用带有Swing窗口的 GLCanvas 时形成的基本框架.

基本框架

免责声明:以上内容(如有图片或视频亦包括在内)有转载其他网站资源,如有侵权请联系删除