Dibujar en canvas
Publicado por Camilo (20 intervenciones) el 05/10/2019 20:46:47
Buenas.
Estoy tratando de dibujar en Canvas por medio de la siguiente forma:
Donde "lapiz" es de tipo Graphics, y canvas2 es de tipo Canvas. Aquí es donde creo el canvas:
Aquí es donde muestro la ventana, lo que hago en el main, es crear un objeto que invoque el método iniciar():
El problema es que me bota un NullPointerException en la línea donde le mando el color a "lápiz" y no entiendo por qué, se supone que ya inicialice el objeto, no sé si es por que no está tomando el contorno gráfico del canvas2 (así tengo entendido que funciona) o que. Tengo entendido que lo mejor es crear una clase que hereda de Canvas (y así ya lo he utilizado y me ha servido), sin embargo estoy realizando unas pruebas, y quería saber si así se puede dibujar.
De antemano Gracias.
Estoy tratando de dibujar en Canvas por medio de la siguiente forma:
1
2
3
4
5
public void dibujar(){
lapiz= canvas2.getGraphics();
lapiz.setColor(Color.black);
lapiz.drawRect(100, 100, 50, 50);
}
Donde "lapiz" es de tipo Graphics, y canvas2 es de tipo Canvas. Aquí es donde creo el canvas:
1
2
3
canvas2 = new Canvas();
canvas2.setBounds(10, 10, (int)x, (int)y);
contentPane.add(canvas2);
Aquí es donde muestro la ventana, lo que hago en el main, es crear un objeto que invoque el método iniciar():
1
2
3
4
public void iniciar() {
dibujar();
frame.setVisible(true);
}
El problema es que me bota un NullPointerException en la línea donde le mando el color a "lápiz" y no entiendo por qué, se supone que ya inicialice el objeto, no sé si es por que no está tomando el contorno gráfico del canvas2 (así tengo entendido que funciona) o que. Tengo entendido que lo mejor es crear una clase que hereda de Canvas (y así ya lo he utilizado y me ha servido), sin embargo estoy realizando unas pruebas, y quería saber si así se puede dibujar.
De antemano Gracias.
Valora esta pregunta


0