En este artículo aprenderás a utilizar el modo gráfico en Java, creando un lienzo propio. También veremos cómo dibujar líneas en el lienzo utilizando ciclos for.
Para comenzar a utilizar el modo gráfico en Java se utilizarán dos conjuntos de componentes gráficos de Java: AWT y Swing.
Swing es un conjunto de clases y otros recursos para construir GUI’s (Interfaces de Usuario Gráficas). Es independiente de la plataforma (sistema operativo) sobre la que se ejecute. Con Swing podemos crear ventajas, contenedores, botones, etiquetas, campos de texto, listas desplegables, etc. La mayoría de sus clases comienzan con una J (por ejemplo, JFrame).
Significa Abstract Window Toolkit. Es dependiente de la plataforma, lo que quiere decir que la imagen que muestre un componente gráfico dependerá del sistema operativo en el que se ejecute.
El método g.drawLine en Java imprime una línea, desde una coordenada x,y hasta una segunda coordenada x2,y2.
Es decir, si deseamos una línea vertical en la columna 100 de la pantalla, la instrucción sería:
g.drawLine(100,0,100,500), que nos imprime una línea vertical (los dos 100 representan la misma columna en x1 y x2) que va desde la línea 0 hasta la línea 500.
Deseamos dibujar la siguiente figura usando solo líneas y ciclos for.
Paso 1. Crear un proyecto en Java.
Paso 2. Cree una clase dentro del proyecto, llamada Dibujo.
Paso 3. Escriba las bibliotecas de clases que necesitará
Paso 4. Defina la herencia
Paso 5. Redefina el método paintComponent.
Paso 5. Cree una ventana que utilice la clase Dibujo en el método main.
import java.awt.Color; import java.awt.Graphics; import javax.swing.JPanel; public class Dibujo extends JPanel { public void paintComponent (Graphics g){ super.paintComponent(g); int ancho, alto; int x2,y2, x1, y1; ancho = getWidth(); alto = getHeight(); g.setColor(Color.GRAY); x1=0; for (y2=alto/2; y2>=0; y2-=10){ g.drawLine(x1, alto/2, ancho/2, y2); x1+=10; } x1=0; for (y2=alto/2; y2<=alto; y2+=10){ g.drawLine(x1, alto/2, ancho/2, y2); x1+=10; } x2=ancho/2; for (y1=0; y1<=alto/2; y1+=10){ g.drawLine(ancho/2, y1, x2, alto/2); x2+=10; } x2=ancho/2; for (y1=alto; y1>=alto/2; y1-=10){ g.drawLine(ancho/2, y1, x2, alto/2); x2+=10; } } }
import javax.swing.JFrame; public class Grafico1 { public static void main(String[] args) { Dibujo lienzo = new Dibujo(); JFrame ventana = new JFrame(); ventana.add(lienzo); ventana.setSize(500,500); ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ventana.setVisible(true); } }
Asigna los valores de ancho y alto de la ventana a las variables.
A continuación comienza el primer cuadrante de lineas. Las variables que se modifican son x1 y y2.
x1=0;
for (y2=alto/2; y2>=0; y2-=10){
g.drawLine(x1, alto/2, ancho/2, y2);
x1+=10;
}
Joyanes y Zahonero ( 2011). Programación en Java. Algoritmos, programación orientada a objetos e interfaz gráfica de usuario. Ed. Mc. Gran Hill.