
- JOGL 圖形形狀
- JOGL - 繪圖基礎
- JOGL - 使用 GL_Lines 繪圖
- JOGL - 預定義形狀
- JOGL 3D 圖形
- JOGL - 3D 基礎
- JOGL - 3D 三角形
- JOGL - 3D 立方體
- JOGL - 附錄
- JOGL 實用資源
- JOGL - 快速指南
- JOGL - 實用資源
- JOGL - 討論
JOGL - 畫布與 Swing
本章解釋如何使用 javax.swing 包的 Canvas 和 JFrame 類繪製 JOGL 基本幀。在此處,我們將例項化 JFrame,並使用 add() 方法將 Canvas 物件新增到 JFrame 的例項。
將 Canvas 與 AWT 結合使用,可提供具有重量級功能的圖形幀。要獲得輕量級圖形幀,需要將 GLCanvas 與 Swing 結合使用。在將 GLCanvas 與 Swing 結合使用時,可以直接將 GLCanvas 放置在 JFrame 視窗中,也可以將其新增到 JPanel。
下面給出了建立 JOGL 基本幀的程式,該幀結合了 JOGL 的 GLCanvas 類和 javax.swing 包的 JFrame 類。
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
如果您編譯並執行上述程式,將生成以下輸出。它演示在將 GLCanvas 與 Swing 視窗結合使用時形成的基本幀。

廣告