AWT de Java | Clase de lienzo

La clase Canvas es una parte de Java AWT. El lienzo es un área rectangular en blanco donde el usuario puede dibujar o atrapar la entrada del usuario. La clase Canvas hereda la clase Component.
Los constructores de la clase Canvas son: 
 

  1. Canvas() : Crea un nuevo lienzo en blanco.
  2. Canvas(GraphicsConfiguration c) : Crea un nuevo lienzo con una configuración gráfica específica.

Métodos comúnmente utilizados en Canvas Class

Método Explicación
agregarNotificar() Crea el par del lienzo.
createBufferStrategy(int n) Crea una nueva estrategia para almacenamiento en búfer múltiple en este componente.
createBufferStrategy(int n, BufferCapabilities c) Crea una nueva estrategia para almacenamiento en búfer múltiple en este componente con las capacidades de búfer requeridas
getBufferStrategy() Devuelve la BufferStrategy utilizada por este componente.
pintura (Gráficos g) pinta este componente.
actualizar (Gráficos g) actualiza este lienzo.

Los siguientes programas ilustran el uso de Canvas Class: 
 

  • Programa 1: Para crear un lienzo y pintar el lienzo. 
     

Java

// Java Program to create a to create
// a canvas and paint the canvas
import java.awt.*;
import javax.swing.*;
class canvas extends JFrame {
 
    // constructor
    canvas()
    {
        super("canvas");
 
        // create a empty canvas
        Canvas c = new Canvas() {
 
            // paint the canvas
            public void paint(Graphics g)
            {
                // set color to red
                g.setColor(Color.red);
 
                // set Font
                g.setFont(new Font("Bold", 1, 20));
 
                // draw a string
                g.drawString("This is a canvas", 100, 100);
            }
        };
 
        // set background
        c.setBackground(Color.black);
 
        add(c);
        setSize(400, 300);
        show();
    }
 
    // Main Method
    public static void main(String args[])
    {
        canvas c = new canvas();
    }
}
  • Producción:
     

  •  
  • Programa 2: para crear un lienzo y agregar un detector de mouse al lienzo (aparecerá un círculo de radio 5 en los puntos donde se hace clic o se arrastra el mouse en el lienzo). 
     

Java

// Java Program to create a
// canvas and mouse listener to the
// canvas ( a circle of radius 5 will appear
// at the points where mouse are clicked or
//  dragged on the canvas)
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
 
class canvas extends JFrame implements MouseListener, MouseMotionListener {
 
    // create a canvas
    Canvas c;
 
    // constructor
    canvas()
    {
        super("canvas");
 
        // create a empty canvas
        c = new Canvas() {
            public void paint(Graphics g)
            {
            }
        };
 
        // set background
        c.setBackground(Color.black);
 
        // add mouse listener
        c.addMouseListener(this);
        c.addMouseMotionListener(this);
 
        add(c);
        setSize(400, 300);
        show();
    }
 
    // mouse listener  and mouse motion listener methods
    public void mouseClicked(MouseEvent e)
    {
        Graphics g = c.getGraphics();
 
        g.setColor(Color.red);
 
        // get X and y position
        int x, y;
        x = e.getX();
        y = e.getY();
 
        // draw a Oval at the point
        // where mouse is moved
        g.fillOval(x, y, 5, 5);
    }
 
    public void mouseMoved(MouseEvent e)
    {
    }
 
    public void mouseDragged(MouseEvent e)
    {
        Graphics g = c.getGraphics();
 
        g.setColor(Color.red);
 
        // get X and y position
        int x, y;
        x = e.getX();
        y = e.getY();
 
        // draw a Oval at the point where mouse is moved
        g.fillOval(x, y, 5, 5);
    }
 
    public void mouseExited(MouseEvent e)
    {
    }
 
    public void mouseEntered(MouseEvent e)
    {
    }
 
    public void mouseReleased(MouseEvent e)
    {
    }
 
    public void mousePressed(MouseEvent e)
    {
    }
    // main class
    public static void main(String args[])
    {
        canvas c = new canvas();
    }
}
  • Producción:
     

  •  

Referencia: https://docs.oracle.com/javase/7/docs/api/java/awt/Canvas.html
 

Publicación traducida automáticamente

Artículo escrito por andrew1234 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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