stringtranslate.com

Interfaz nativa de Java AWT

La interfaz nativa Java AWT ( JAWT ) es una interfaz para el lenguaje de programación Java que permite representar bibliotecas compiladas en código nativo para dibujar directamente en una superficie de dibujo de objetos Java Abstract Window Toolkit (AWT) .Canvas

La interfaz nativa de Java (JNI) permite a los desarrolladores agregar funcionalidades dependientes de la plataforma a las aplicaciones Java . La JNI permite a los desarrolladores agregar operaciones críticas en términos de tiempo, como cálculos matemáticos y renderizado 3D .

Anteriormente, la representación 3D nativa era un desafío porque el código nativo no tenía acceso al contexto gráfico. La interfaz nativa AWT está diseñada para brindar a los desarrolladores acceso a una AWT Canvaspara dibujar directamente con código nativo. De hecho, la extensión de la API 3D de Java para el JDK estándar de Java SE depende en gran medida de la interfaz nativa AWT para representar objetos 3D en Java.

La interfaz nativa de AWT es muy similar a la JNI y los pasos son los mismos que los de la JNI. Consulte el artículo Interfaz nativa de Java para obtener una explicación de las técnicas JNI que emplea la interfaz nativa de AWT. La interfaz nativa de AWT se agregó a la plataforma Java con la versión J2SE 1.3 ("Kestrel").

Pasos de la interfaz nativa de AWT

Un tutorial completo y un ejemplo demostrativo de esta tecnología está disponible en Wikilibros (ver enlace a continuación).

Para comenzar, se crea una aplicación Java. En el artículo se explica el uso de la interfaz nativa de Java. La palabra clave native y el método loadLibrary() son componentes integrales, mientras que el método paint() se invoca cuando el hilo que envía el evento AWT vuelve a pintar la pantalla.

Tras la creación de la aplicación Java, se genera un archivo de encabezado C++ de forma convencional. Puede encontrar explicaciones detalladas en la documentación de la interfaz nativa de Java.

A continuación, se implementa el código nativo de C++, normalmente en un archivo llamado "NativeSideCanvas.cpp", y se compila en una biblioteca. Se proporciona más información sobre este proceso en la documentación de la interfaz nativa de Java (JNI).

Una vez construido el programa, se puede ejecutar de la forma habitual. Al ejecutar el archivo, debería aparecer una ventana que muestre, por ejemplo, un rectángulo dibujado. Se pueden encontrar instrucciones detalladas en la documentación de la interfaz nativa de Java.

Es importante tener en cuenta que la interfaz nativa de AWT requiere la presencia del archivo "jawt.dll" (o "jawt.so") para ejecutarse junto con la aplicación. El método más simple para garantizar esto es copiar el archivo "jawt.dll", que normalmente se encuentra en el directorio .../jre/bin dentro de la ruta de instalación del JDK.

Pintura nativa

Se puede pintar como si fuera una aplicación nativa. En Windows , la JVM pasará un HWND y otra información de la ventana a la aplicación nativa para que la aplicación "sepa" dónde dibujar. Podría usar GDI para dibujar un rectángulo. La información de la ventana que necesita el lado nativo estará en una JAWT_Win32DrawingSurfaceInfoestructura (según el sistema operativo ) que se puede recuperar con esta línea:dsi_win = (JAWT_Win32DrawingSurfaceInfo*)dsi->platformInfo;

Referencias

Enlaces externos