Java - AWT Canvas


Klasa Canvas kontroliše i predstavlja praznu pravougaonu oblast u kojoj aplikacija može crtati ili uhvatiti ulazne događaje od korisnika. Nasljeđuje klasu Component. Deklaracija klase AWT Canvas može se napisati kao:

public class Canvas extends Component implements Accessible  


Konstruktori klase Canvas

Sljedeća tabela prikazuje tip konstruktora klase Canvas

Konstruktor Opis
Canvas() Konstruiše novo platno (Canvas).
Canvas(GraphicConfiguration config) Konstruiše novo platno sa datim objektom grafičke konfiguracije.


Metode klase Canvas

Sljedeća tabela prikazuje Canvas klase.

Metoda Opis
void addNotify() Kreira platno.
void createBufferStrategy (int numBuffers) Kreira nove strategije multibaferisanja na određenoj komponenti.
void createBufferStrategy (int numBuffers, BufferCapabilities caps) Kreira nove strategije multibaferisanja na određenoj komponenti sa datim mogućnostima bafera.
AccessibleContext getAccessibleContext() Dobija pristupačan kontekst vezan za Canvas.
BufferStrategy getBufferStrategy() Vraća strategiju bafera koju koristi određena komponenta.
void paint(Graphics g) Canvas sa datim Grafičkim objektom.
void pdate(Graphics g) Ažurira Canvas sa datim grafičkim objektom.


Metode nasljeđene klasom Canvas

Canvas je nasljedio gornje metode iz sljedećih klasa:

  • lang.Component
  • lang.Object


Primjer Java AWT Canvas

U sljedećem primjeru, kreiramo platno (Canvas) u okviru i slikamo oval crvene boje unutar njega.

// Importovanje awt klase  
import java.awt.*;  
  
// Klasa za konstruisanje okvira i koja sadrži main metod    
public class Main    
{    
  // Konstruktor klase  
  public Main()    
  {    
  
    // kreiranje okvira (Frame) 
    Frame f = new Frame("Primjer Canvas-a");   
    // Dodavanje platna (Canvas) u okvir (Frame)
    f.add(new MyCanvas());    
  
    // Postavljanje rasporeda, veličine i vidljivosti okvira  
    f.setLayout(null);    
    f.setSize(400, 400);    
    f.setVisible(true);    
  }    
  
  // Metoda main 
  public static void main(String args[])    
  {    
    new Main();    
  }    
}    
  
// Klasa koja nasljeđuje klasu Canvas
// za kreiranje platna  
class MyCanvas extends Canvas    
{    
        // Konstruktor klase
        public MyCanvas() {    
        setBackground (Color.GRAY);    
        setSize(300, 200);    
     }    
  
     // Metoda paint() za crtanje unutar platna (Canvas)
  public void paint(Graphics g)    
  {    
  
    // Dodavanje specifikacija 
    g.setColor(Color.red);    
    g.fillOval(75, 75, 150, 75);    
  }    
}

Prikaz koda iz gornjeg primjera izgledaće ovako: