本章介绍如何使用 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 时形成的基本框架.
免责声明:以上内容(如有图片或视频亦包括在内)有转载其他网站资源,如有侵权请联系删除