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

1.5 metodos iterativos
1.5 metodos iterativos1.5 metodos iterativos
1.5 metodos iterativos
morenito9001
 
Algoritmos Genéticos
Algoritmos GenéticosAlgoritmos Genéticos
Algoritmos Genéticos
ESCOM
 
Algoritmo de backtracking
Algoritmo de backtrackingAlgoritmo de backtracking
Algoritmo de backtracking
Victor Gonzalez
 

La actualidad más candente (20)

Transacciones y sql procedural EN MySQL
Transacciones y sql procedural EN MySQLTransacciones y sql procedural EN MySQL
Transacciones y sql procedural EN MySQL
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
1.5 metodos iterativos
1.5 metodos iterativos1.5 metodos iterativos
1.5 metodos iterativos
 
Recursividad directa e indirecta
Recursividad directa e indirectaRecursividad directa e indirecta
Recursividad directa e indirecta
 
Folleto analisis-numerico
Folleto analisis-numericoFolleto analisis-numerico
Folleto analisis-numerico
 
Algoritmos Genéticos
Algoritmos GenéticosAlgoritmos Genéticos
Algoritmos Genéticos
 
Algoritmo de backtracking
Algoritmo de backtrackingAlgoritmo de backtracking
Algoritmo de backtracking
 
Recursividad
RecursividadRecursividad
Recursividad
 
encapsulamiento
encapsulamientoencapsulamiento
encapsulamiento
 
Comparacion de SGBD
Comparacion de SGBDComparacion de SGBD
Comparacion de SGBD
 
Programación no lineal
Programación no linealProgramación no lineal
Programación no lineal
 
Identificadores, variables y constantes
Identificadores, variables y constantesIdentificadores, variables y constantes
Identificadores, variables y constantes
 
Modos direccionamiento
Modos direccionamientoModos direccionamiento
Modos direccionamiento
 
Ordenamientos burbuja e inserción
Ordenamientos burbuja e inserciónOrdenamientos burbuja e inserción
Ordenamientos burbuja e inserción
 
Javascript
JavascriptJavascript
Javascript
 
Simulacion-unidad 1
Simulacion-unidad 1Simulacion-unidad 1
Simulacion-unidad 1
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
 
Algoritmos de Ordenamiento externo
Algoritmos de Ordenamiento externoAlgoritmos de Ordenamiento externo
Algoritmos de Ordenamiento externo
 
Tutorial de CodeBlocks
Tutorial de CodeBlocksTutorial de CodeBlocks
Tutorial de CodeBlocks
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 

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