JOGL - Leinwand mit Schaukel
In diesem Kapitel erfahren Sie, wie Sie einen JOGL-Grundrahmen mit zeichnen Canvas, und JFrameKlasse von javax.swing-Paket. Hier werden wir einen JFrame instanziieren und das Canvas-Objekt der Instanz von JFrame mit dem hinzufügenadd() Methode.
Wenn Sie Canvas mit AWT verwenden, erhalten Sie einen grafischen Rahmen mit Schwergewichtsfunktionen. Für einen leichten grafischen Rahmen müssen Sie verwendenGLCanvasmit Swing. Während dem BenutzenGLCanvas Mit Swing können Sie platzieren GLCanvas in dem JFrame Fenster direkt, oder Sie können es hinzufügen JPanel.
Unten ist das Programm angegeben, das einen JOGL-Grundrahmen mit der Kombination von JOGLs erstellt GLCanvas Klasse und JFrameKlasse des Pakets 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
Wenn Sie das obige Programm kompilieren und ausführen, wird die folgende Ausgabe generiert. Es zeigt einen Grundrahmen, der bei der Verwendung gebildet wirdGLCanvas mit Schaukelfenster.