Gráficos por computadora usando JOGL. Oscar Gabriel Caballero Martínez
Чтение книги онлайн.

Читать онлайн книгу Gráficos por computadora usando JOGL - Oscar Gabriel Caballero Martínez страница 3

Название: Gráficos por computadora usando JOGL

Автор: Oscar Gabriel Caballero Martínez

Издательство: Bookwire

Жанр: Математика

Серия:

isbn: 9786073050302

isbn:

СКАЧАТЬ Para el software, se tienen las siguientes identificaciones que permiten manejar la interacción de una mejor forma.

      • GUI: Interfaz Gráfica del Usuario, por sus siglas en inglés.

      • API: Conjunto de funciones y procedimientos que pueden ser usados por un programa para un fin específico.

      Capítulo 2

      Programación con Java Open Graphics Library 2. (JOGL2)

      Para poder programar en JOGL2 [jogamp, 2016] es necesario tener las librerías que utiliza para su programación en Java (ver Apéndice A) y a su vez, configurar NetBeans para ligar las librerías a los proyectos que se crean (ver Apéndice B).

      Lo primero que debe hacerse es generar, a partir del proyecto de trabajo, un archivo tipo class para transcribir el programa; para ello, dentro de NetBeans hacemos lo siguiente: con el botón derecho del mouse abrimos el menú en el proyecto y en la opción de Java Class podremos construir el programa. Ver figura 2.1

figura09

      Figura 2.1 Ventana de NetBeans para crear un Java Class.

       Fuente: Elaboración propia

      Al hacer lo anterior se pone el nombre de la clase en la ventana, como se muestra en la figura 2.2. Hay que recordar que los nombres de las clases en Java deben comenzar con una letra mayúscula; si el nombre que se desea transcribir es de dos o más palabras, cada nueva palabra comienza con Mayúsculas.

figura10

      Figura 2.2 Poner nombre a una clase.

       Fuente: Elaboración propia

      Al oprimir el botón de finalizar (Finish) se tendrá abierto el editor para transcribir programas en Java que genera un archivo *.class. Para ver cómo se trabaja con JOGL se transcribirá el siguiente código [jogamp, 2016].

      1. package Graficacion;

      2.

      3. import com.jogamp.opengl.GLAutoDrawable;

      4. import com.jogamp.opengl.GLEventListener;

      5. import com.jogamp.opengl.awt.GLCanvas;

      6. import com.jogamp.opengl.util.Animator;

      7. import java.awt.Frame;

      8. import java.awt.event.WindowAdapter;

      9. import java.awt.event.WindowEvent;

      10. /**

      11. *

      12. * @author Caballero Martínez Oscar Gabriel

      13. * Caballero Jiménez Oscar Emilio

      14. * Caballero Jiménez Mariana

      15. * Jiménez Jacinto Verónica

      16. *

      17. * @Group 2803

      18. *

      19. * @Fecha 10/febrero/2016

      20. *

      21. * @Materia Graficación por Computadora

      22. *

      23. */

      24. public class Ventana implements GLEventListener {

      25. public static void main(String[] args) {

      26. Frame frame = new Frame("Ventana.java");

      27. GLCanvas canvas = new GLCanvas();

      28. canvas.addGLEventListener(new Ventana());

      29. frame.add(canvas);

      30. frame.setSize(640, 480);

      31. final Animator animator = new Animator(canvas);

      32. frame.addWindowListener(new WindowAdapter() {

      33. @Override

      34. public void windowClosing(WindowEvent e) {

      35. // Run this on another thread than the AWT event queue to

      36. // make sure the call to Animator.stop() completes before

      37. // exiting

      38. new Thread(new Runnable() {

      39. public void run() {

      40. animator.stop();

      41. System.exit(0);

      42. }

      43. }).start();

      44. }

      45. });

      46. // Center frame

      47. frame.setLocationRelativeTo(null);

      48. frame.setVisible(true);

      49. animator.start();

      50. }

      51. @Override

      52. public void init(GLAutoDrawable glad) {

      53. }

      54. @Override

      55. public void dispose(GLAutoDrawable glad) {

      56. }

      57. @Override

      58. public void display(GLAutoDrawable glad) {

      59. }

      60. @Override

      61. public void reshape(GLAutoDrawable glad, int i, int i1, int i2, int i3){

      62. }

      63. }

      Código 2.1 Ventana.java

      Al ejecutar el programa anterior tendremos la siguiente salida.

figura11

      Figura 2.3 Programa “Ventana”. Fuente: Elaboración propia.

      Como siempre se trabajará con el mismo código, se escribirá en la plantilla original de los archivos class que crea NetBeans el código anterior pero con generalidades. Para ello es necesario abrir la plantilla.

СКАЧАТЬ