28package com.jogamp.opengl.test.junit.jogl.demos.gl2.awt;
30import java.awt.ComponentOrientation;
31import java.awt.Dimension;
32import java.awt.GridLayout;
33import java.awt.event.WindowAdapter;
34import java.awt.event.WindowEvent;
36import com.jogamp.opengl.awt.GLCanvas;
37import com.jogamp.opengl.awt.GLJPanel;
38import javax.swing.JApplet;
39import javax.swing.JLabel;
40import javax.swing.JPanel;
41import javax.swing.JFrame;
42import javax.swing.SwingConstants;
44import com.jogamp.opengl.test.junit.jogl.demos.gl2.Gears;
45import com.jogamp.opengl.test.junit.jogl.demos.gl2.Teapot;
46import com.jogamp.opengl.util.Animator;
52 private static final long serialVersionUID = 1L;
60 static public void main(
final String args[]) {
67 frame =
new JFrame(
"Bug818GLJPanelApplet");
68 frame.getContentPane().add(myApplet);
70 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
71 frame.addWindowListener(
new WindowAdapter() {
72 public void windowClosing(
final WindowEvent e) {
78 javax.swing.SwingUtilities.invokeAndWait(
new Runnable() {
83 frame.setVisible(
true);
85 }
catch(
final Throwable throwable ) {
86 throwable.printStackTrace();
96 final JPanel panel =
new JPanel();
97 panel.setLayout(
new GridLayout(3, 2));
98 System.err.println(
"Pre Orientation L2R: "+panel.getComponentOrientation().isLeftToRight());
99 panel.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
100 System.err.println(
"Post Orientation L2R: "+panel.getComponentOrientation().isLeftToRight());
101 setContentPane(panel);
106 panel.
add(
new JLabel(
"GLJPanel Auto V-Flip", SwingConstants.CENTER));
111 animator[animIdx++] =
new Animator(gljPanel);
112 gljPanel.setPreferredSize(
new Dimension(300, 300));
118 animator[animIdx++] =
new Animator(gljPanel);
119 gljPanel.setPreferredSize(
new Dimension(300, 300));
123 panel.add(
new JLabel(
"GLJPanel User V-Flip", SwingConstants.CENTER));
129 animator[animIdx++] =
new Animator(gljPanel);
130 gljPanel.setPreferredSize(
new Dimension(300, 300));
137 animator[animIdx++] =
new Animator(gljPanel);
138 gljPanel.setPreferredSize(
new Dimension(300, 300));
143 panel.add(
new JLabel(
"GLCanvas", SwingConstants.CENTER));
148 animator[animIdx++] =
new Animator(glCanvas);
149 glCanvas.setPreferredSize(
new Dimension(300, 300));
155 animator[animIdx++] =
new Animator(glCanvas);
156 glCanvas.setPreferredSize(
new Dimension(300, 300));
164 for(
int i=0; i<animator.length; i++) {
172 for(
int i=0; i<animator.length; i++) {
A heavyweight AWT component which provides OpenGL rendering support.
void addGLEventListener(final GLEventListener listener)
Adds the given listener to the end of this drawable queue.
A lightweight Swing component which provides OpenGL rendering support.
final void setSkipGLOrientationVerticalFlip(final boolean v)
Skip isGLOriented() based vertical flip, which usually is required by the offscreen backend,...
void addGLEventListener(final GLEventListener listener)
Adds the given listener to the end of this drawable queue.
Gears.java author: Brian Paul (converted to Java by Ron Cemer and Sven Gothel)
Adapted from http://www.java-tips.org/other-api-tips/jogl/how-to-draw-a-texture-mapped-teapot-with-au...
static JPanel appletHolder
static void main(final String args[])
final synchronized void add(final GLAutoDrawable drawable)
Adds a drawable to this animator's list of rendering drawables.
final void setUpdateFPSFrames(final int frames, final PrintStream out)
final synchronized boolean start()
Starts this animator, if not running.
final synchronized boolean stop()
Stops this animator.