Está en la página 1de 21

GUA DE OBJETOS GRFICOS EN JAVA

INTRODUCCIN

SISTEMA DE COORDENADAS DE JAVA


*- Identifica todos los puntos disponibles de las pantallas
*- Origen de coordenadas (0,0) en la esquina superior izquierda
*- Sistema de coordenadas compuestas por componentes X e Y
SISTEMA DE COORDENADAS DE JAVA. UNIDAD DE MEDIDA EN PIXELES.

CONTEXTOS Y OBJETOS GRFICOS


*- Permite pintar en la pantalla.
*- El objeto Graphics controla el contexto de grficos

CONTROLA COMO SE PINTA EN LA PANTALLA


*- La Clase Graphics es abstracta
- No se puede instanciar
- Contribuye a la portabilidad de Java
*- El mtodo paint de la clase Component emplea el objeto Graphics
public void paint( Graphics g )
Se puede invocar por medio del mtodo repaint()
COLORES
*-Define los mtodos y las constantes para manipular los colores.
*- Los colores se crean en base al esquema de rojo/verde/azul (RGB)
CONSTANTES DE COLORES DEFINIDAS EN LA CLASE COLOR

COLOR CONSTANTES

COLOR

RGB VALOR

public final static Color ORANGE


public final static Color PINK
public final static Color CYAN
public final static Color MAGENTA
public final static Color YELLOW
public final static Color BLACK
public final static Color WHITE
public final static Color GRAY
public final static Color LIGHT_GRAY
public final static Color DARK_GRAY
public final static Color RED
public final static Color GREEN
public final static Color BLUE

orange
pink
cyan
magenta
yellow
black
white
gray
light gray
dark gray
red
green
blue

255, 200, 0
255, 175, 175
0, 255, 255
255, 0, 255
255, 255, 0
0, 0, 0
255, 255, 255
128, 128, 128
192, 192, 192
64, 64, 64
255, 0, 0
0, 255, 0
0, 0, 255

Mtodos de la clase Color y mtodos de relacionados de la clase Graphics


MTODOS COLOR
public Color( int r, int g, int b )
public Color( float r, float g, float b )

public int getRed()


public int getGreen()
public int getBlue()
public Color getColor()
public void setColor( Color c )

Ejemplo:

DESCRIPCIN
Construye colores a base de rojo verde y azul
donde r, g y b son enteros en el intervalo
cerrado [0,255]
Construye colores a base de rojo verde y azul
donde r, g y b son decimales en el intervalo
cerrado [0.0 , 1.0]
Retorno un entero en el intervalo [0, 255] que
representa el contenido de rojo en el objeto
Retorno un entero en el intervalo [0, 255] que
representa el contenido de verde en el objeto
Retorno un entero en el intervalo [0, 255] que
representa el contenido de azul en el objeto
Retorna un objeto de tipo color que representa
el color actual del contexto grfico.
Establece el color actual para dibujar con el
contexto grfico.

Salida

FUENTES
CLASE FONT
*- Contiene mtodos y constantes para el control de las fuentes
*- El constructor de la clase Font tiene tres argumentos
- Font name
* Monospaced, SansSerif, Serif, etc.
- Font style
* Font.PLAIN, Font.ITALIC y Font.BOLD
- Font size
* Medidos en puntos

Ejemplo

Salidas

MTODOS Y CONSTANTES RELACIONADOS CON LA CLASE FONT

PINTAR LNEAS, RECTNGULOS Y VALOS


*- CLASE GRAPHICS

- Provee mtodos para pintar lneas, rectngulos y valos


* Todos los mtodos de pintar estas figuras requieren el ancho y alto que ocuparan
*Existen los mtodos para pintar figuras con o sin rellene (draw* y fill*)

MTODOS DE LA CLASE GRAPHICS PARA PINTAR LNEAS, RECTNGULOS Y VALOS


MTODO
public void drawLine( int x1, int y1, int x2, int y2 )

public void drawRect( int x, int y, int ancho, int alto )

public void fillRect( int x, int y, int ancho, int alto )

public void clearRect( int x, int y, int ancho, int alto )

public void drawRoundRect( int x, int y, int ancho,


int alto, int anchoArco, int altoArco )

public void fillRoundRect( int x, int y, int ancho, int


alto, int anchoArco, int altoArco )

public void draw3DRect( int x, int y, int ancho, int


alto, boolean b )

public void fill3DRect( int x, int y, int ancho, int alto,


boolean b )

public void drawOval( int x, int y, int ancho, int alto )

DESCRIPCIN
Dibuja la lnea al inicio del punto(x1,y1)
hasta el punto(x2,y2)
Dibuja un rectngulo de anchura y altura
especificadas. La esquina superior
izquierda de la rectngulo tiene las
coordenadas (x, y).
Dibuja un rectngulo relleno de anchura y
altura especificadas. La esquina superior
izquierda de la rectngulo tiene las
coordenadas (x, y).
Dibuja un rectngulo relleno con la
anchura y altura especificadas color de
fondo de contexto grfico. La esquina
superior izquierda del rectngulo tiene las
coordenadas (x, y).
Dibuja un rectngulo con esquinas
redondeadas con la anchura y altura
especificadas. achoArco y altoArco
especifican el redondeo de las esquinas
Dibuja un rectngulo con esquinas
redondeadas con la anchura y altura
especificadas y el color actual del contexto
grfico. achoArco y altoArco especifican el
redondeo de las esquinas
Dibuja un rectngulo tridimensional con
anchura y altura especificada. La esquina
superior izquierda del rectngulo tiene las
coordenadas (x,y). El rectngulo aparece
levant cuando b es verdadera y hundido
cuando b es falsa.
Dibuja un rectngulo tridimensional
relleno con el color del contexto grfico
actual, anchura y altura especificada. La
esquina superior izquierda del rectngulo
tiene las coordenadas (x,y). El rectngulo
aparece levant cuando b es verdadera y
hundido cuando b es falsa.
Dibuja un valo con la anchura y altura
especificadas. La esquina superior
izquierda del rectngulo es delimitado por
las coordenadas (x, y). El valo toca los
cuatro lados del rectngulo delimitador en
el centro de cada lado.

MTODO
public void fillOval( int x, int y, int ancho, int alto )

EJEMPLO

DESCRIPCIN
Dibuja un valo relleno con el color del
contexto grfico actual, con la anchura y
altura especificadas. La esquina superior
izquierda del rectngulo es delimitado por
las coordenadas (x, y). El valo toca los
cuatro lados del rectngulo delimitador en
el centro de cada lado.

SALIDA

EXPLICACIN DEL ROUNDRECT

EXPLICACIN DEL VALO

PINTAR ARCOS
*- ARCO
- Porcin de un valo
- Se miden en grado
-Barre (Sweeps) el nmero de grados que indique el ngulo de arco
-Sweep empieza en el inicio de medida de los ngulos
* Barre en sentido contrario a las agujas del reloj si el ngulo es positivo
* Barre en sentido de las agujas del reloj para ngulos negativos.

*- ngulos positivos y negativos

MTODOS DE LA CLASE GRAPHICS PARA EL PINTADO DE ARCOS


MTODO
DESCRIPCIN
public void drawArc( int x, int y, int ancho, int alto, Dibuja un arco en relacin con la parte
int anguloinicial, int arcoangulo )
superior izquierda de las coordenadas del
rectngulo delimitador (x,y) con la
anchura y altura especificadas. El
segmento de arco se dibuja a partir de
nguloinicial y barre en grados el
arcoangulo
public void fillArc( int x, int y, int ancho, int alto, int Dibuja un arco relleno con el color del
anguloinicial, int arcoangulo )
contexto grfico actual en relacin con la
parte superior izquierda de las
coordenadas del rectngulo delimitador
(x,y) con la anchura y altura especificadas.
El segmento de arco se dibuja a partir de
nguloinicial y barre en grados el
arcoangulo

Ejemplo

Salida

Los Arcos vacos o sin relleno se pintaron con rectngulos de color amarrillos y lneas azules que
representa un plano cartesiano inscripto en el rectngulo para ver mejor el detalle de los ngulos
iniciales y los ngulos de barrido.

*- Pintar Polgonos y Poli lneas


- Clases Polygon
*Polgonos, Figuras de varios lados
* Poli lneas, Series de puntos conectados

MTODOS GRAPHICS PARA PINTAR POLIGONOS Y MTODOS DE LA CLASE POLYGON

MTODO
DESCRIPCIN
public void drawPolygon( int xPoints[], int yPoints[], Dibuja un polgono. La coordenada x de
int points )
cada punto se especifica en los arreglos
xPoints y la coordenada y de cada punto
se especifica en el arreglo yPoints. El
ltimo argumento especifica el nmero de
puntos. Este mtodo dibuja un polgono
cerrado. Si el ltimo punto es diferente del
primer punto, el polgono se cierra por
una lnea que conecta el ltimo punto al
primer punto.

MTODO
DESCRIPCIN
public void drawPolyline( int xPoints[], int yPoints[], Dibuja una secuencia de lneas
int points )
conectadas. La coordenada x de cada
punto se especifica en el arreglo xPoints y
la coordenada y de cada punto se
especifica en el arreglo yPoints. El ltimo
argumento especifica el nmero de
puntos. Si el ltimo punto es diferente
desde el primer punto, la poli lnea no est
cerrada.
public void drawPolygon( Polygon p )
Dibuja un polgono especifico
public void fillPolygon( int xPoints[], int yPoints[], int Dibuja un polgono relleno con el color del
points )
contexto grfico actual. La coordenada x
de cada punto se especifica en los arreglos
xPoints y la coordenada y de cada punto
se especifica en el arreglo yPoints. El
ltimo argumento especifica el nmero de
puntos. Este mtodo dibuja un polgono
cerrado. Si el ltimo punto es diferente del
primer punto, el polgono se cierra por
una lnea que conecta el ltimo punto al
primer punto.
public void fillPolygon( Polygon p )
Dibuja un polgono especifico relleno con
el color del contexto grfico actual y
cerrado

Ejemplo

Salidas

JAVA2D API
*- Proporciona capacidades grficas avanzas 2D
java.awt
java.awt.image
java.awt.color
java.awt.font
java.awt.geom
java.awt.print
java.awt.image.renderable
Usa la clase java.awt.Graphics2D Extiende la clase java.awt.Graphics

JAVA 2D FORMAS
*- Paquetes java.awt.geom
Ellipse2D.Double
Rectangle2D.Double
RoundRectangle2D.Double
Arc3D.Double
Lines2D.Double

Ejemplos

Salidas

Mejora en el pintado, Para mejorar el dibujo el tenemos que tomar en cuenta que el origen de
coordenadas en java es donde comienza la ventana donde se toma en cuenta la barras de los
bordes por lo que si queremos hacer dibujos exactos tenemos que consideras ese valor en nuestro
clculos. Otra Mejora es el antialiasing y el fin de lneas.
A continuacin aremos un ejemplo donde consideremos estos valores estos valores

Ejemplo

Salida

Este ejemplo as se maximice o minimice la ventana siempre va a estar centrada con respecto al
eje x

Ahora el mismo ejemplo sin el Antialiasing y sin redondeo de fin de lneas

Salida

AHORA UN EJEMPLO ELEGANTE DE MI AUTORA Y UTILIZANDO OTRA HERRAMIENTA LLAMADA ALPHA PARA EL MANEJO DE TRANSPARENCIA.

Salida