JOGL 使用Swing的Frame
精华
小牛编辑
112浏览
2023-03-14
JOGL 使用Swing的Frame
Swing 是一个轻量级的图形用户界面工具包,用于开发基于窗口的应用程序。java.swing 包为 Swing API 提供了各种类。
现在,我们将通过以下步骤使用 Canvas 和 Swing 创建一个简单的框架:
- 遵循《JOGL Frame框架》搭建 JOGL 的基本结构。
- 使用 Swing 的 JFrame 类创建框架。
JFrame frame = new JFrame("xnip:Swing Frame");
- 现在,使用 add() 方法将 GLCanvas 类的对象与 JFrame 类对象一起添加。
frame.add(gc);
- 在 setSize() 方法中提供所需的尺寸并使框架可见性为true。
frame.setSize( 500, 400 );
frame.setVisible(true);
JOGL 使用Swing的Frame 示例
在本例中,我们将使用 Swing 创建一个简单的 JOGL 框架。
package cn.xnip;
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.*;
public class SwingFrame implements GLEventListener {
@Override
public void init(GLAutoDrawable obj) {
}
@Override
public void display(GLAutoDrawable obj) {
}
@Override
public void reshape(GLAutoDrawable obj1, int obj2, int obj3, int obj4, int obj5) {
}
@Override
public void dispose(GLAutoDrawable obj) {
}
public static void main(String[] args) {
final GLProfile gp = GLProfile.get(GLProfile.GL4);
GLCapabilities cap = new GLCapabilities(gp);
final GLCanvas gc = new GLCanvas(cap);
SwingFrame sf = new SwingFrame();
gc.addGLEventListener(sf);
gc.setSize(350, 350);
//Now creating a frame using Frame class of AWT
final JFrame frame = new JFrame("xnip:Swing Frame");
frame.add(gc);
frame.setSize(500, 400);
frame.setVisible(true);
}
}
输出结果如下: