1. Creamos nuestra clase Lienzo (Lienzo.java) que heredara los atributos y metodos de la clase Canvas, perteneciente al paquete: java.awt.Canvas.
El Lienzo además contendrá un arreglo de puntos, los cuales se dibujarán en el canvas. En este caso nuestro lienzo contendrá 300 puntos del tipo de datos Point2D. Y usaremos una función f(x) = x. Es decir una función identidad, con lo cual nuestro dibujo saldrá una diagonal. Tomamos en cuenta que todos lo valores para x serán positivos, ya que la pantalla de nuestro computador está en píxeles cuyos valores son enteros positivos.
La clase será así:
package graf;
import java.awt.Canvas;
import java.awt.Graphics;
import java.awt.geom.Point2D;
import java.awt.geom.Point2D.Double;
public class Lienzo extends Canvas
{
private Point2D[] puntos = new Point2D[300];
public Lienzo()
{
int i;
for(i=0;i<300;i++)> 0 )
{
n = puntos.length;
for(i=1;i
{
g.drawLine(
(int)puntos[i-1].getX(),
(int)puntos[i-1].getY(),
(int)puntos[i].getX(),
(int)puntos[i].getY()
);
}
}
}
}
Luego creamos nuestra clase App, donde crearemos un JFrame en donde añadiremos una variable del tipo Lienzo para que quede empotrado en la ventana.
package graf;
import javax.swing.JFrame;
public class App
{
public static void main(String[] param)
{
Lienzo lienzo = new Lienzo();
JFrame ventana = new JFrame("Aplicacion con Canvas para dibujo");
ventana.getContentPane().add(lienzo);
ventana.setVisible(true);
ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ventana.pack();
}
}

La compilación está dado aquí:
El resultado:
