Вы находитесь на странице: 1из 4

GRAFICAR LINEAS EN JAVA

Escrito por: Edison Rivadeneira

Lo primero que debemos saber es que la pantalla en Java se incrementa de izquierda a


derecha y de arriba hacia abajo, tal como muestra la figura:

Los pixels de la pantalla son pues: posición 0 + ancho de la pantalla - 1.

En los textos, el punto de inserción se encuentra en la línea base de la primera letra.

DrawLine

Si se necesita dibujar una línea, se puede utilizar el método

g.drawLine( x1,y1,x2,y2 );

donde g es una instancia de la clase Graphics. graphics.drawLine(..) también sería


legal ya que graphics es también una instancia de Graphics. Graphics es una clase
abstracta por lo que no se pueden crear objetos de esta clase, es decir, la siguiente
sentencia es totalmente ilegal:

g = new Graphics();

porque no se puede utilizar new para obtener g.

En el siguiente applet, Imbabura.java, podemos ver el método drawLine() en


funcionamiento:

import java.awt.*;
public class Imbabura extends javax.swing.JApplet {

public Imbabura() {
}
public void paint(Graphics i){
i.setColor(new Color(59,38,184));
i.drawRect(0,0,320,240);
i.setColor(new Color(88,134,92));
i.drawLine(170,40,185,60);
i.drawLine(185,60,200,65);
i.drawLine(200,65,225,115);
i.drawLine(225,115,258,118);
i.drawLine(258,118,310,150);
i.drawLine(310,150,280,180);
i.drawLine(280,180,258,178);
i.drawLine(258,178,230,200);
i.drawLine(230,200,175,150);
i.drawLine(175,150,160,150);
i.drawLine(160,150,140,160);
i.drawLine(140,160,90,160);
i.drawLine(90,160,50,140);
i.drawLine(50,140,17,136);
i.drawLine(17,136,60,120);
i.drawLine(60,120,95,120);
i.drawLine(95,120,130,110);
i.drawLine(130,110,138,103);
i.drawLine(138,103,153,110);
i.drawLine(153,110,170,100);
i.drawLine(170,100,175,60);
i.drawLine(175,60,170,40);
i.setColor(new Color(120,0,0));
i.drawString("Foto Satelital de la Provincia de Imbabura",50,10);
i.setColor(new Color(201,195,25));
i.drawString("Cornelio Orbe",130,30);
i.setColor(new Color(93,129,99));
i.drawRect(218,217,87,17);

}
Si nosotros necesitamos graficar en un panel que este dentro de un formulario
escribimos:

Supongamos que el JPanel que esta en formulario se llama Grafico


Graphics g=Grafico.getGraphics();

Y luego como se hace referencia al JPanel Grafico como el sistema de coordenadas


según java donde vamos a graficar ya podemos hacer los mismos pasos antes
mencionados o escritos en el ejemplo de Imbabura.java.

Nota.- Un problema que se puede presentar al graficar lineas es que el sistema de


coordenadas que da java no es el apropiado en la realidad. Para esto nosotros debemos
transformar las coordenadas sabiendo la altura del JPanel. FALTA COMPLETAR
COMO SE TRANSFORMA LAS COORDENADAS

Con el siguiente ejemplo entenderemos esto. Entonces escribimos en siguiente codigo


en el Evento ActionPerformed del boton Linea.

private void BlineaActionPerformed(java.awt.event.ActionEvent evt) {


Graphics g=Grafico.getGraphics();
int ancho=Grafico.getWidth();
int alto=Grafico.getHeight();
g.setColor(Color.RED);
g.drawLine(Integer.parseInt(tfx.getText()),alto- Integer.parseInt(tfy.getText()),
Integer.parseInt(tfancho.getText()), alto - Integer.parseInt (tfalto.getText()));
g.drawString(tfx.getText()+","+tfy.getText(),Integer.parseInt(tfx.getText()),alto-Integer.parseInt
(tfy.getText()));

Вам также может понравиться