Você está na página 1de 9

Curso de Programacin Programacin Grfica

java.awt.Graphics2D
Utiliza el mismo modelo empleado por Graphics Para usarlo

public void paint(Graphics g) { Graphics2D g2 = (Graphics2D) g; ... }

java.awt.geom formas primitivas


Arc2D Area CubicCurve2D Dimension2D Ellipse2D GeneralPath Line2D Point2D QuadCurve2D Rectangle2D RectangularShape RoundRectangle2D

java.awt.Graphics2D
API Extendido para manejo de textos, imgenes, colores, formas e impresin Manejo de caractersticas avanzadas como Transparencia Antialiasing java.awt Canales Alpha java.awt.geom Composicin java.awt.font Transformacin java.awt.color java.awt.image java.awt.image.renderable java.awt.print

Programacin Grafica en JAVA2D

Curso de Programacin Programacin Grfica

Ejemplo
Uso de grficos primitivos (En su Forma Simple)

public void paint(Graphics g) { Graphics2D g2 = (Graphics2D) g; g2.setStroke(new BasicStroke(2.0f)); g2.draw(new Rectangle2D.Double(5, 5, 50, 20)); g2.setStroke(new BasicStroke(4.0f)); g2.draw(new RoundRectangle2D.Double(5, 30, 50, 20, 5, 5)); g2.setStroke(new BasicStroke(2.0f)); g2.draw(new Arc2D.Double(5, 55, 50, 20, 90, 135, Arc2D.OPEN)); g2.draw(new Ellipse2D.Double(5, 80, 50, 20)); }

A continuacin procedemos al diseo de una aplicacin donde podemos observar los primitivos grficos en Dos Dimensiones en JAVA. Cabe recalcar que no estn todos los mtodos, usted tendr que la investigacin constante que usted desarrollara y fortalecimiento de sus conocimientos, por tal motivo, ya puede iniciar en este sentido las practicas e indagaciones del resto de mtodos de Java para graficas de dos dimensiones.

Programacin Grafica en JAVA2D

Curso de Programacin Programacin Grfica

Ejemplo #2
/* * Creado el miercoles 18/Abril/2007 * */ /** @Giovanni.Saenz@fec.uni.edu.ni **/ // Manejo de Figuras de JAVA2D.java de una forma simple. // Demostracin de algunas figuras de Java2D. import java.awt.*; import java.awt.geom.*; import java.awt.image.*; import javax.swing.*; public class Grafica2D extends JFrame { // establecer cadena de barra de ttulo y dimensiones de la ventana public Grafica2D() { super( "Dibujo de figuras en 2D" ); setSize( 900, 600 ); setVisible( true ); } // dibujar figuras con la API Java2D public void paint( Graphics g ) { int x=10, y=30; int ANCHO=50,ALTO=30; super.paint( g ); // llamar al mtodo paint de la superclase Graphics2D g2d = ( Graphics2D ) g; // convertir g a Graphics2D /********************* Rectangulo Sin Relleno. ************************/ // Dibujar un Rectangulo de color Rojo y con un grosor de borde de //diez pixeles. g2d.setPaint(Color.RED); g2d.setFont( new Font( "Monospaced", Font.ITALIC, 15 ) ); g2d.setStroke(new BasicStroke(10.0f)); g2d.draw(new Rectangle2D.Double(x, y, ANCHO, ALTO)); g2d.drawString( " Dibujo de RECTANGULO 2D " , 70, 45 );

Programacin Grafica en JAVA2D

Curso de Programacin Programacin Grfica

/********************* Rectangulo Con Relleno. ************************/ //Dibujar un Rectangulo de color Degradado y con un grosor de borde //de //diez pixeles. g2d.setPaint(new GradientPaint( x+400, y, Color.BLUE, x+435, y+70,Color.YELLOW, true )); g2d.setFont( new Font( "Serif", Font.BOLD , 15 ) ); g2d.fill(new Rectangle2D.Double(x+400, y, ANCHO, ALTO)); g2d.drawString( " Dibujo de RECTANGULO 2D " , x+470, y+15 );

//Dibujar un Rectangulo con borde redondeado (Sin Relleno) //de color Magenta y con un grosor de borde de cuatro pixeles. g2d.setPaint(Color.MAGENTA); g2d.setStroke(new BasicStroke(4.0f)); g2d.draw(new RoundRectangle2D.Double(x, y+70, ANCHO, ALTO, 20, 20)); g2d.drawString( " Dibujo de RECTANGULO REDONDEADO 2D " , 70, 115 );

//Dibujar un Rectngulo con borde redondeado (Con Relleno) de color //Degradado //y con un grosor de borde de cuatro pixeles. g2d.setPaint(new GradientPaint( x+400, y+70, Color.RED, x+435, y+85,Color.ORANGE , true )); g2d.fill(new RoundRectangle2D.Double(x+400, y+70, ANCHO, ALTO, 20, 20)); g2d.drawString( " Dibujo de RECTANGULO REDONDEADO 2D " , x+470, 115 );

/********************* Ellipse sin Relleno. **********************/ // Dibujando una Elipse de Color Azul y con un grosor de cinco pixeles. g2d.setPaint(Color.BLUE); g2d.setStroke(new BasicStroke(5.0f));
Programacin Grafica en JAVA2D 4

Curso de Programacin Programacin Grfica

g2d.draw(new Ellipse2D.Double(x, y+140, ANCHO, ALTO-10)); g2d.drawString( " Dibujo de ELIPSE 2D " , 70, 185 );

/********************* Ellipse con Relleno. **********************/ //Dibujando una Elipse de Color Degradado y con un grosor de cinco //pixeles. g2d.setPaint(new GradientPaint( x+400, y+140, Color.MAGENTA, x+400, y+175,Color.CYAN, true )); g2d.fill(new Ellipse2D.Double(x+400, y+140, ANCHO, ALTO-10)); g2d.drawString( " Dibujo de ELIPSE 2D " , x+470, y+155 );

/****************** Arcos sin Rellenos. *************************/ // Dibujando una Elipse de Color Verde y con un grosor de seis pixeles. // Este Arco tiene la particularidad que es cerrado por tal motivo parecera //que le hace falta // un Pedazo al Pastel completo. g2d.setPaint(Color.GREEN); g2d.setStroke(new BasicStroke(6.0f)); g2d.draw(new Arc2D.Double(x, y+210, ANCHO,ALTO+15, 45, 270, Arc2D.PIE )); g2d.setPaint(Color.DARK_GRAY); g2d.drawString( " Dibujo de ARCO 2D - PASTEL " , 70, 265 );

/****************** Arcos con Rellenos. *************************/ // Dibujando una Elipse de Color Verde y con un grosor de seis pixeles. // Este Arco tiene la particularidad que es cerrado por tal motivo parecera //que le hace falta

Programacin Grafica en JAVA2D

Curso de Programacin Programacin Grfica

// un Pedazo al Pastel completo. g2d.setPaint(new GradientPaint( x+400, y+210, Color.BLUE , x+400, y+250,Color.LIGHT_GRAY , true )); g2d.setStroke(new BasicStroke(6.0f)); //g2d.fill(new Arc2D.Double(x+400, y+210, ANCHO,ALTO+15, 45, 270, Arc2D.PIE )); //g2d.setPaint(Color.DARK_GRAY); g2d.drawString( " Dibujo de ARCO 2D - PASTEL " , x+470, 265 );

//Para los arreglos en JAVA2D int polx[]={150,130,100,130,150,170,200,170,150}; int poly[]={100,130,150,170,200,170,150,130,100}, i=0; //En este caso solo estoy moviendo la coordenada en y porque me queda //arriba for(i=0;i<9;i++){ poly[i]=poly[i]+230; } //Se tiene que definir la direccion del dibujo GeneralPath pol = new GeneralPath(); //Aqui trabajamos con manejo de coordenada en referencia al origen //Consultarse al libro de programacion de la UNI, ah esta la referencia pol.moveTo(polx[0], poly[0]); //Ahora pasar los puntos del poligono al objeto for (i=1;i<9;i++){ pol.lineTo(polx[i], poly[i]); }//Fin del Recorrido For pol.closePath(); //Cerrando el Objeto de Dibujo //Relleno con Degradado g2d.setPaint(new GradientPaint( 500, 100, Color.YELLOW 150,Color.LIGHT_GRAY , true )); //Dibujar poligono g2d.fill(pol); //Sin relleno, solo el borde de color, generando el borde g2d.setPaint(new GradientPaint( 500, 100, Color.BLUE 150,Color.GREEN , true )); //Dibujar poligono g2d.draw(pol);

530,

530,

Programacin Grafica en JAVA2D

Curso de Programacin Programacin Grfica

//Dibujo de Lnea, solo debe establecerse con Draw g2d.setStroke(new BasicStroke(10.0f)); //Grosor de 10 pixeles g2d.draw(new Line2D.Double( 30, 520, 250, 520 ));

} // fin del mtodo paint // ejecutar la aplicacin public static void main( String args[] ) { Grafica2D aplicacion = new Grafica2D(); aplicacion.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); } } // fin de la clase Figuras

Como se puede observar paso a poso usted puede definir lo que desea realizar como primitivo grafico, existe mejores posibilidad en Java2D para la manipulacin de los primitivos graficos.

Programacin Grafica en JAVA2D

Curso de Programacin Programacin Grfica

Tareas a Realizar: 1.- Buscar el programa de Logo de la UNI, el cual ya esta diseado en clases anteriores, llevar este a Java2D y aplique lo siguiente: a.- Defina el rea de dibujo. b.- Defina que tipo de atributos aplicara, si es con relleno o sin relleno. c.- Utilizar graficacin en Java2D. d.- Mostrar los pasos que realizo para hacer posible la graficacin, ahora moviendo los puntos a doscientos coordenadas en X.

2.- Buscar el programa del ambiente de la UNI, es decir el quedo propuesto, tal como el edificio nuevo, las canchas de baseball, football, etc. Realice los siguientes pasos para mostrar la grafica en Java2D: a.- Defina el rea de dibujo. b.- Defina que tipo de atributos aplicara, si es con relleno o sin relleno. c.- Utilizar graficacin en Java2D. d.- Mostrar los pasos que realizo para hacer posible la graficacin, ahora moviendo los puntos a doscientos coordenadas en X.
Programacin Grafica en JAVA2D 8

Curso de Programacin Programacin Grfica

Toda la Bibliografa utilizada aqu es:


Titulo: Como Programar en Java. Autor Deitel & Deitel. Edicion: Quinta Edicion. ISBN: 970-26-0518-0 Curso de Maestria de Redes de Computadoras: Msc. Jos Abelardo Sanchez (Conferencia #9) Programas Diseados por Giovanni Senz. Informacin de los Capitulos JAVA2D. Capitulo XII y XIII.

Dibujo y manejo de Conceptos.

Aplicacin Diseada

Programacin Grafica en JAVA2D

Você também pode gostar