Extras din curs
In afara posibilitatii de a utiliza componente grafice standard, Java ofera si posibilitatea de controlului la nivel de punct (pixel) pe dispozitivul grafic, respectiv desenarea a diferite forme grafice direct pe suprafata unei componente.
Desi este posibil, în general nu se deseneaza la nivel de pixel direct pe suprafata ferestrelor. In Java a fost definit un tip special de componenta numita Canvas (pânza de pictor), al carui scop este de a fi extins pentru a implementa componente cu o anumita înfatisare. Asadar clasa Canvas este o clasa generica din care se deriveaza subclase pentru crearea suprafetelor de desenare.
Constructorul Canvas() creeaza o plansa, adica o componenta pe care se poate desena. Plansele nu pot contine alte componente grafice, ele fiind utilizate doar ca suprafete de desenat sau ca fundal pentru animatie.
Constructor
Canvas ()
Metode
addNotify () Creates the peer of the canvas.
paint(Graphics) Paints the canvas in the default background color.
Metoda paint() a clasei Canvas() picteaza plansa în culoarea implicita a fundalului. Pentru a redesena plansa cu un alt continut, se recomanda supradefinirea acestei metode implicite.
class Tablou extends Canvas {
public void paint(Graphics g) {
//...desenare continut
}
}
Toate desenele care trebuie sa apara pe o suprafata de desenare se realizeaza în metoda public void paint(Graphics g), în general apelata intern în urma unui apel repaint(), ori de câte ori componenta respectiva trebuie reafisata. In general desenarea se poate face :
• pe o portiune de ecran,
• la imprimanta sau
• într-o zona virtuala de memorie
Inainte ca utilizatorul sa poata desena el trbuie sa obtina un context de desenare pentru fereastra careia îi apartine regiunea pe care se va desena. Acest context grafic este specificat prin intermediul obiectelor de tip Graphics primite ca parametru în functia paint(). In functie de dispozitivul fizic pe care se face afisarea (ecran, imprimanta, plotter, etc) metodele de desenar au implementari interne diferite, transparente utilizatorului.
Asadar, clasa Graphics ofera posibilitatea de a desena linii, forme geometrice, imagini si caractere.
Constructor
Graphics ()
Constructs a new Graphics Object.
Preview document
Conținut arhivă zip
- Desenarea in Java.doc