SlideShare una empresa de Scribd logo
1 de 4
Descargar para leer sin conexión
GRAFICAR LÍNEAS 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(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 líneas 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.




Con el siguiente ejemplo entenderemos esto. Entonces escribimos en siguiente código
en el Evento ActionPerformed del boton Línea.

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()));


      }

Más contenido relacionado

La actualidad más candente

Modelado de requisitos
Modelado de requisitosModelado de requisitos
Modelado de requisitos
Kleo Jorgee
 
Requerimiento funcional y no funcional
Requerimiento funcional y no funcional Requerimiento funcional y no funcional
Requerimiento funcional y no funcional
CristobalFicaV
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
Giancarlo Aguilar
 
Modelo incremental
Modelo incrementalModelo incremental
Modelo incremental
Roxny Moreno
 
Diagrama de actividades v2
Diagrama de actividades v2Diagrama de actividades v2
Diagrama de actividades v2
rossanadaysi
 

La actualidad más candente (20)

Cliente-Servidor
Cliente-ServidorCliente-Servidor
Cliente-Servidor
 
Modelado de requisitos
Modelado de requisitosModelado de requisitos
Modelado de requisitos
 
Requerimiento funcional y no funcional
Requerimiento funcional y no funcional Requerimiento funcional y no funcional
Requerimiento funcional y no funcional
 
Programación 3: algoritmo de Prim y de Kruskal
Programación 3: algoritmo de Prim y de KruskalProgramación 3: algoritmo de Prim y de Kruskal
Programación 3: algoritmo de Prim y de Kruskal
 
SO Unidad 2: Mecanismos de comunicación y sincronización de procesos
SO Unidad 2: Mecanismos de comunicación y sincronización de procesosSO Unidad 2: Mecanismos de comunicación y sincronización de procesos
SO Unidad 2: Mecanismos de comunicación y sincronización de procesos
 
Ejemplos de algoritmos con estructuras repetitivas
Ejemplos de algoritmos con estructuras repetitivasEjemplos de algoritmos con estructuras repetitivas
Ejemplos de algoritmos con estructuras repetitivas
 
Lenguajes de simulación
Lenguajes de simulaciónLenguajes de simulación
Lenguajes de simulación
 
Requerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No FuncionalesRequerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No Funcionales
 
Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)
 
EVALUACION DE ALGORTIMOS
EVALUACION DE ALGORTIMOSEVALUACION DE ALGORTIMOS
EVALUACION DE ALGORTIMOS
 
Modelo basado en prototipos - Ingeniería de Software
Modelo basado en prototipos - Ingeniería de SoftwareModelo basado en prototipos - Ingeniería de Software
Modelo basado en prototipos - Ingeniería de Software
 
Software simulacion
Software simulacionSoftware simulacion
Software simulacion
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
 
Modelo incremental
Modelo incrementalModelo incremental
Modelo incremental
 
Manual de instalacion
Manual de instalacionManual de instalacion
Manual de instalacion
 
Diagrama de actividades v2
Diagrama de actividades v2Diagrama de actividades v2
Diagrama de actividades v2
 
INGENIERÍA DE REQUISITOS E INGENIERÍA DE REQUERIMIENTOS
INGENIERÍA DE REQUISITOS E INGENIERÍA DE REQUERIMIENTOSINGENIERÍA DE REQUISITOS E INGENIERÍA DE REQUERIMIENTOS
INGENIERÍA DE REQUISITOS E INGENIERÍA DE REQUERIMIENTOS
 
Métricas
MétricasMétricas
Métricas
 
Modelo GOMS
Modelo GOMSModelo GOMS
Modelo GOMS
 
Errores comunes en simulación. Software Simul8. Por Elias Adam
Errores comunes en simulación. Software Simul8. Por Elias AdamErrores comunes en simulación. Software Simul8. Por Elias Adam
Errores comunes en simulación. Software Simul8. Por Elias Adam
 

Destacado

Tema 13 gráficas en java por gio
Tema 13   gráficas en java por gioTema 13   gráficas en java por gio
Tema 13 gráficas en java por gio
Robert Wolf
 
Java GUI La librería Swing
Java GUI La librería Swing Java GUI La librería Swing
Java GUI La librería Swing
Laura
 
Guia practica funciones en java con NetBeans
Guia practica funciones en java con NetBeansGuia practica funciones en java con NetBeans
Guia practica funciones en java con NetBeans
Emerson Garay
 
Vectores en programacion
Vectores en programacionVectores en programacion
Vectores en programacion
laryenso
 
Ejemplo proyecto - Probabilidad y Estadística
Ejemplo proyecto - Probabilidad y EstadísticaEjemplo proyecto - Probabilidad y Estadística
Ejemplo proyecto - Probabilidad y Estadística
Angel Carreras
 

Destacado (20)

Tema 13 gráficas en java por gio
Tema 13   gráficas en java por gioTema 13   gráficas en java por gio
Tema 13 gráficas en java por gio
 
Java GUI La librería Swing
Java GUI La librería Swing Java GUI La librería Swing
Java GUI La librería Swing
 
Guia practica funciones en java con NetBeans
Guia practica funciones en java con NetBeansGuia practica funciones en java con NetBeans
Guia practica funciones en java con NetBeans
 
Java modografico
Java modograficoJava modografico
Java modografico
 
Contenedores de java swing
Contenedores de java swingContenedores de java swing
Contenedores de java swing
 
PROGRAMACION DE APPLET EN JAVA
PROGRAMACION DE APPLET EN JAVAPROGRAMACION DE APPLET EN JAVA
PROGRAMACION DE APPLET EN JAVA
 
Manual de-java
Manual de-javaManual de-java
Manual de-java
 
3.1.6 espacio para objetos
3.1.6 espacio  para objetos3.1.6 espacio  para objetos
3.1.6 espacio para objetos
 
12.gráficos y bases de datos
12.gráficos y bases de datos12.gráficos y bases de datos
12.gráficos y bases de datos
 
Materiales Pnp Y Npn
Materiales Pnp Y NpnMateriales Pnp Y Npn
Materiales Pnp Y Npn
 
Material Tipo N, Pnp, Npn
Material Tipo N, Pnp, NpnMaterial Tipo N, Pnp, Npn
Material Tipo N, Pnp, Npn
 
Alternativas a los Applets de Java para la realización de firmas electrónicas...
Alternativas a los Applets de Java para la realización de firmas electrónicas...Alternativas a los Applets de Java para la realización de firmas electrónicas...
Alternativas a los Applets de Java para la realización de firmas electrónicas...
 
Metodo simplex gráfico
Metodo simplex gráficoMetodo simplex gráfico
Metodo simplex gráfico
 
MODELO DE SUBSANACION
MODELO DE SUBSANACIONMODELO DE SUBSANACION
MODELO DE SUBSANACION
 
Programación en Java: Applets
Programación en Java: AppletsProgramación en Java: Applets
Programación en Java: Applets
 
Vectores en programacion
Vectores en programacionVectores en programacion
Vectores en programacion
 
Ejemplo proyecto - Probabilidad y Estadística
Ejemplo proyecto - Probabilidad y EstadísticaEjemplo proyecto - Probabilidad y Estadística
Ejemplo proyecto - Probabilidad y Estadística
 
Ejercicios aplicativos iva, retefuente, reteiva, reteica
Ejercicios aplicativos iva, retefuente, reteiva, reteicaEjercicios aplicativos iva, retefuente, reteiva, reteica
Ejercicios aplicativos iva, retefuente, reteiva, reteica
 
Uso De La Herramienta Bezier
Uso De La Herramienta BezierUso De La Herramienta Bezier
Uso De La Herramienta Bezier
 
Interfaz gráfica de usuario y eventos (introducción)
Interfaz gráfica de usuario y eventos (introducción)Interfaz gráfica de usuario y eventos (introducción)
Interfaz gráfica de usuario y eventos (introducción)
 

Similar a Graficar lineas en java, en un j panel

Ejemplo 18 animación usando gamecanvas
Ejemplo 18 animación usando gamecanvasEjemplo 18 animación usando gamecanvas
Ejemplo 18 animación usando gamecanvas
Mercedes Reyes Carrion
 
Semana 12 j2_me_api_bn_animacion
Semana 12 j2_me_api_bn_animacionSemana 12 j2_me_api_bn_animacion
Semana 12 j2_me_api_bn_animacion
Jose Luis Melgarejo
 
Utp 2015-2_pdi_lab2
 Utp 2015-2_pdi_lab2 Utp 2015-2_pdi_lab2
Utp 2015-2_pdi_lab2
jcbp_peru
 
Graficas en matlab 2 d y 3d
Graficas en matlab 2 d y 3dGraficas en matlab 2 d y 3d
Graficas en matlab 2 d y 3d
Sebastian Cuenca
 

Similar a Graficar lineas en java, en un j panel (20)

Lab2-POO
Lab2-POOLab2-POO
Lab2-POO
 
Applets.pdf
Applets.pdfApplets.pdf
Applets.pdf
 
Laboratorio 1
Laboratorio 1Laboratorio 1
Laboratorio 1
 
Ejemplo 18 animación usando gamecanvas
Ejemplo 18 animación usando gamecanvasEjemplo 18 animación usando gamecanvas
Ejemplo 18 animación usando gamecanvas
 
Presentacion1001
Presentacion1001Presentacion1001
Presentacion1001
 
Presentacion1001
Presentacion1001Presentacion1001
Presentacion1001
 
Semana 12 j2_me_api_bn_animacion
Semana 12 j2_me_api_bn_animacionSemana 12 j2_me_api_bn_animacion
Semana 12 j2_me_api_bn_animacion
 
Utp 2015-2_pdi_lab2
 Utp 2015-2_pdi_lab2 Utp 2015-2_pdi_lab2
Utp 2015-2_pdi_lab2
 
Xna game studio presentación 02
Xna game studio   presentación 02Xna game studio   presentación 02
Xna game studio presentación 02
 
Graficas en matlab
Graficas en matlabGraficas en matlab
Graficas en matlab
 
HTML Tour - Programación de Videojuegos HTML5
HTML Tour - Programación de Videojuegos HTML5HTML Tour - Programación de Videojuegos HTML5
HTML Tour - Programación de Videojuegos HTML5
 
Programación con Pygame VI
Programación con Pygame VIProgramación con Pygame VI
Programación con Pygame VI
 
Sprite
SpriteSprite
Sprite
 
Graficas en matlab 2 d y 3d
Graficas en matlab 2 d y 3dGraficas en matlab 2 d y 3d
Graficas en matlab 2 d y 3d
 
Descripción de ejemplo curso excel cae
Descripción de ejemplo curso excel caeDescripción de ejemplo curso excel cae
Descripción de ejemplo curso excel cae
 
Canvas
CanvasCanvas
Canvas
 
Funciones
FuncionesFunciones
Funciones
 
Plots
PlotsPlots
Plots
 
Clips de pelicula
Clips de peliculaClips de pelicula
Clips de pelicula
 
Inicialización del modo gráfico de C
Inicialización del modo gráfico de CInicialización del modo gráfico de C
Inicialización del modo gráfico de C
 

Graficar lineas en java, en un j panel

  • 1. GRAFICAR LÍNEAS 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);
  • 2. 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(93,129,99)); i.drawRect(218,217,87,17); } }
  • 3. 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 líneas 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. Con el siguiente ejemplo entenderemos esto. Entonces escribimos en siguiente código en el Evento ActionPerformed del boton Línea. 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()));