Java 2d ejemplos

Introducción a Java 2d

La API 2D de Java es una API básica de la plataforma Java 1.2 (consulte los recursos para obtener información variada sobre la API y sus implementaciones). Las implementaciones de la API están disponibles como parte de las Java Foundation Classes (JFC) en las actuales versiones beta del JDK de Sun para Windows NT/95 y Solaris. A medida que Java 1.2 se vaya completando, Java 2D debería estar disponible en más plataformas. Tenga en cuenta que, aunque Java 2D se ha desarrollado de forma un tanto independiente de las demás partes de la JFC, no deja de ser una parte fundamental de la AWT 1.2. Haremos la distinción y señalaremos las características específicas de 2D para su discusión, pero debería recordar que esta funcionalidad es tan central para los gráficos de la 1.2 como el antiguo soporte de la 1.0 y 1.1 AWT.Java 2D extiende los mecanismos anteriores de la AWT para dibujar gráficos 2D, manipular texto y fuentes, cargar y usar imágenes, y definir y tratar con colores y espacios de color. Exploraremos estos nuevos mecanismos en esta y futuras columnas.

Una nota sobre la nomenclatura y las convencionesPara esta columna, mi principal plataforma de desarrollo será un PC con Windows 95 o Windows NT. Espero proporcionar otros consejos y trucos específicos de la plataforma cuando sea posible, pero me centraré en Windows ya que es donde pasaré la mayor parte de mi tiempo.Cuando escriba el nombre de un método, siempre debe ser de la forma methodname(). Los paréntesis al final sirven para distinguirlo como método. El método puede o no tomar parámetros. En la práctica, el contexto debería dejarlo claro.Los listados de código fuente se darán con los números de línea incluidos. Pienso utilizar los números de línea para cruzar referencias entre el texto del artículo y los listados de código, según convenga. De este modo, le resultará mucho más fácil hacer anotaciones en la columna, en caso de que decida imprimir una copia. Sin embargo, tenga en cuenta que los archivos fuente enlazados desde la columna serán archivos *.java normales (sin números de línea) para que pueda descargarlos y desarrollar con ellos. Intentaré nombrar mis ejemplos de forma coherente y colocarlos en paquetes con sentido.

Ejemplo de affinetransformación en Java

La clase java.awt.Graphics es, sin embargo, limitada en sus funciones y capacidades. Soporta principalmente segmentos rectilíneos. java.awt.Graphics2D (de la API 2D de Java) amplía enormemente las funciones y capacidades de la clase Graphics.

La API AWT de Java existe desde el JDK 1.1. La API 2D de Java forma parte de Java Foundation Class (JFC), similar a Swing, y fue introducida en JDK 1.2. Proporciona más capacidades para la programación de gráficos. Java 2D abarca muchos paquetes: java.awt, java.awt.image, java.awt.color, java.awt.font, java.awt.geom, java.awt.print y java.awt.image.renderable.

La clase principal de Java2D es java.awt.Graphics2D. Graphics2D es una subclase de java.awt.Graphics, que amplía el soporte de la clase Graphics heredada en la representación de tres grupos de objetos: texto, gráficos vectoriales e imágenes de mapa de bits. También soporta más atributos que afectan al renderizado, por ejemplo,

Graphics2D está diseñada como una subclase de Graphics. Para utilizar el contexto de Graphcs2D, hay que bajar el handle de Graphics g a Graphics2D en métodos de pintura como paintComponent(). Esto funciona porque el subsistema de gráficos pasa un objeto Graphics2D como argumento cuando llama a los métodos de pintura. Por ejemplo,

Biblioteca Java 2d

Los tutoriales de Java han sido escritos para el JDK 8. Los ejemplos y las prácticas que se describen en esta página no aprovechan las mejoras introducidas en versiones posteriores y podrían utilizar tecnología que ya no está disponible.Consulte los cambios en el lenguaje de Java para ver un resumen de las características actualizadas del lenguaje en Java SE 9 y las versiones posteriores.Consulte las notas de la versión del JDK para obtener información sobre las nuevas características, las mejoras y las opciones eliminadas o obsoletas de todas las versiones del JDK.

Esta ruta le presenta la API Java 2D™ y le muestra cómo mostrar e imprimir gráficos 2D en sus programas Java. El sendero está destinado a los desarrolladores que desean enriquecer sus conocimientos de la API 2D de Java, así como a los principiantes en gráficos por ordenador. Casi todas las secciones contienen ejemplos relevantes para ilustrar capacidades específicas. La API 2D de Java permite realizar fácilmente las siguientes tareas:

Este capítulo describe el concepto de dibujo de imágenes en pantalla y fuera de ella, así como de superficies y dispositivos de impresión. Este sendero cubre los usos más comunes de las API 2D de Java y describe brevemente algunas de las características más avanzadas.

Renderizado Java 2d

Un array de más de una dimensión se conoce como array multidimensional. Dos de los ejemplos más comunes de arrays multidimensionales son los arrays bidimensionales y tridimensionales, conocidos como arrays 2D y 3D, todo lo que esté por encima es raro. Nunca he visto arrays de 4 dimensiones, incluso los arrays 3D no son tan comunes. Ahora la pregunta viene cuando usar un array multidimensional? ¿Algún ejemplo de la vida real? Bueno, los arrays 2D son muy comunes en los juegos de plataformas como Super Mario Bros para representar la pantalla o el terreno; los arrays 2D también se pueden utilizar para representar estructuras como una hoja de cálculo, o para dibujar juegos de mesa como el ajedrez, que requiere un tablero de 8×8, las damas y el tres en raya, que requieren 3 filas y 3 columnas.

Otra aplicación popular de las matrices multidimensionales es la manipulación de matrices. Por ejemplo, para representar una matriz de 3×3 se necesita una matriz bidimensional de 3 matrices unidimensionales que contengan 3 elementos cada una.

Del mismo modo, para representar matrices de 3×2 se necesitan 2 matrices bidimensionales de una matriz unidimensional de longitud 3. En otras palabras, cada fila de una matriz bidimensional es una matriz unidimensional.    Java realmente no soporta un array multidimensional pero permite crear y utilizar un array de cualquier número de dimensiones.