CANVAS en JAVA

CANVAS en JAVA

Además de los componentes estándar, hay un componente (Canvas), que nos permite implementar cualquier otro tipo de control en su interior y capturar sus eventos a través de la canva. Es muy útil cuando el control que implementamos no responde a eventos.

La clase Canvas no responde a los eventos directamente si no que es el programador quien debe definir una subclase de Canvas a la que se envían todos los eventos y, otra clase donde crearemos el objeto de la subclase e implementaremos todo el código del programa.

 

 

CREACIÓN DE LA SUBCLASE:

 

public class nomb_subclase extends Canvas{

cuerpo;

}

 

CREACIÓN DEL OBJETO CANVAS: Debe ser una clase distinta a la anterior.

 

public class nombre extends Applet{

cuerpo;

nomb_subclase obj=new nomb_subclase([param]);

add(“texto“,obj);

}

 

 

TAMAÑO:

 

obj.resize(ancho,alto);

 

 

Los métodos relacionados con el diseño de los controles que hemos ido viendo anteriormente también se pueden aplicar al objeto canvas. Como por ejemplo los métodos para establecer color, tipo de letra, etc…

 

Existen dos clases con una estrecha relación a las canvas. Estas son Dimension que nos permite modificar el ancho y alto de la canva y la clase Insets que nos servirá para colocar un borde o recuadro a la canva.

 

 

OBJETO DIMENSION:

 

Dimension objeto=size();

 

 

MÉTODOS ASOCIADOS:

 

objeto.width(valor);

 

objeto.heigth(valor);

 

 

UTILIZACIÓN DE INSETS: Para usar esta clase debemos sobreescribir su método. Este método devuelve un objeto de la clase Insets.

 

public Insets insets()

{

return new Insets(x1,y1,x2,y2);

}

 

 

 

 

 

EJEMPLO:

 

import java.awt.*;

import java.applet.*;

 

class Micanva extends Canvas{

 

String texto=»»;

        public Micanva(){ } //constructor

 

public void paint(Graphics dib){

dib.drawString(texto,25,25);

dib.drawRect(0,0,90,90);

}

 

public boolean mouseEnter(Event evt, int x,int y){

texto=»Raton dentro»;

repaint();

return true;

}

 

public boolean mouseExit(Event evt, int x,int y){

texto=»Raton fuera»;

repaint();

return true;

}

 

}

 

public class can5 extends Applet{

public void init(){

                Micanva lienzo=new Micanva();

setLayout(null);

                add(lienzo);

                lienzo.resize(100,100);

}

 

        public Insets insets(){

                return new Insets(10,10,10,10);

        }

}

 

También te podría gustar...

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *