El mecanismo de renderizado b�sico es el mismo que en las versiones anteriores del JDK -- el sistema de dibujo controla cu�ndo y c�mo dibuja un programa. Cuando un componente necesita ser mostrado, se llama autom�ticamente a su m�todo paint o update dentro del contexto Graphics apropiado.
El API 2D de Java presenta java.awt.Graphics2D, un nuevo tipo de objeto Graphics. Graphics2D desciende de la clase Graphics para proporcionar acceso a las caracter�sticas avanzadas de renderizado del API 2D de Java.
Para usar las caracter�sticas del API 2D de Java, tenemos que forzar el objeto Graphics pasado al m�todo de dibujo de un componente a un objeto Graphics2D.
public void Paint (Graphics g) { Graphics2D g2 = (Graphics2D) g; ... }
�
Contexto de Renderizado de Graphics2D
Al conjunto de atributos de estado asociados con un objeto Graphics2D se le conoce como Contexto de Renderizado de Graphics2D. Para mostrar texto, formas o im�genes, podemos configurar este contexto y luego llamar a uno de los m�todos de renderizado de la clase Graphics2D, como draw o fill . C�mo muestra la siguiente figura, el contexto de renderizado de Graphics2D contiene varios atributos.
�![]() |
El estilo de l�piz que se aplica al exterior de una forma. Este atributo stroke nos permite dibujar l�neas con cualquier tama�o de punto y patr�n de sombreado y aplicar finalizadores y decoraciones a la l�nea. |
�![]() |
El estilo de relleno que se aplica al interior de la forma. Este atributo paint nos permite rellenar formas con c�lores s�lidos, gradientes o patrones. |
�![]() |
El estilo de composici�n se utiliza cuando los objetos dibujados se solapan con objetos existentes. |
�![]() |
La transformaci�n que se aplica durante el dibujado para convertir el objeto dibujado desde el espacio de usuario a las coordenadas de espacio del dispositivo. Tambi�n se pueden aplicar otras transformaciones opcionales como la traducci�n, rotaci�n escalado, recortado, a trav�s de este atributo. |
�![]() |
El Clip que restringe el dibujado al �rea dentro de los bordes de la Shape se utiliza para definir el �ra de recorte. Se puede usar cualquier Shape para definir un clip. |
�![]() |
La fuente se usa para convertir cadenas de texto. |
�![]() |
Punto de Renderizado que especifican las preferencias en cuanto a velocidad y calidad. Por ejemplo, podemos especificar si se deber�a usar antialiasing, si est� disponible. |
Para configurar un atributo en el contexto de renderizado de Graphics2D, se usan los m�todos set Attribute.
- setStroke
- setPaint
- setComposite
- setTransform
- setClip
- setFont
- setRenderingHints
Cuando configuramos un atributo, se el pasa al objeto el atributo apropiado. Por ejemplo, para cambiar el atributo paint a un relleno de gradiente azul-gris, deber�amos construir el objeto GradientPaint y luego llamar a setPaint.
gp = new GradientPaint(0f,0f,blue,0f,30f,green); g2.setPaint(gp);
Graphics2D contiene referencias a sus objetos atributos -- no son clonados. Si modificamos un objeto atributo que forma parte del contexto Graphics2D, necesitamos llamar al m�todo set para notificarlo al contexto. La modificaci�n de un atributo de un objeto durante el renderizado puede causar comportamientos impredecibles.
�M�todos de renderizado de Graphics2D
Graphics2D proporciona los siguientes m�todos generales de dibujado que pueden usarser para dibujar cualquier primitivo geom�trico, texto o imagen.
- draw--dibuja el exterior de una forma geom�trica primitiva usando los atributos stroke y paint.
- fill--dibuja cualquier forma geom�trica primitiva rellenado su interior con el color o patr�n especificado por el atributo paint.
- drawString--dibuja cualquier cadena de texto. El atributo font se usa para convertir la fuente a glyphs que luego se rellenan con el color o patr�n especificados por el atributo paint.
- drawImage--dibuja la imagen especificada.
Adem�s, Graphics2D soporta los m�todos de renderizado de Graphics para formas particulares, como drawOval y fillRect.