import java.awt.BorderLayout; import java.awt.Dimension; import javax.media.opengl.awt.GLCanvas; import javax.media.opengl.awt.GLJPanel; import java.awt.Component; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.WindowConstants; public class JScrollPaneExample extends JFrame { public static void main(String[] arguments) { new JScrollPaneExample(); } /** The gl panel. */ private final Component glComponent; private JScrollPaneExample() { String disable = System.getProperty("GLJPanel"); if (disable==null) { glComponent = new GLCanvas(); } else { glComponent = new GLJPanel(); } glComponent.setPreferredSize(new Dimension(800, 600)); JPanel panel = new JPanel(new BorderLayout()); JScrollPane scrollPane = new JScrollPane(glComponent); JTextArea textArea = new JTextArea(); textArea.setText("Test\nTest\nTest\nTest\n"); panel.add(scrollPane, BorderLayout.CENTER); panel.add(textArea, BorderLayout.NORTH); add(panel); setLocationRelativeTo(null); setTitle("GLCanvas in JScrollPane example"); setSize(600, 400); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); setVisible(true); } }