Documente Academic
Documente Profesional
Documente Cultură
➢ LINIE
Metoda drawLine() este folosita pentru a desena o linie intre doua puncte.
Metoda primeste patru argumente: coordonatele x, y ale punctului de
inceput si coordonatele x, y ale punctului final:
➢ DREPTUNGHIURI
➢ DREPTUNGHIURI
Ex.
ecran.drawRoundRect(182,61,43,24,10,8);
➢ POLIGOANE
Pentru a realiza desenarea avem nevoie de coordonatele x si y ale fiecarui punct care
defineste colturile poligonului. Poligoanele pot fi definite ca o serie de linii
interconectate. Cea mai buna solutie pentru specificarea coordonatelor este:
➢ POLIGOANE
Ex.
Polygon polig=new Polygon();
int x[]={10,20,30,40,50};
int y[]={15,25,35,45,55};
int puncte=x.length;
Polygon polig=new Polygon(x,y,puncte);
Curs 6 - Java
➢ POLIGOANE
Dupa crearea obiectului Polygon se pot adauga puncte folosind metoda addPoint().
Aceasta preia ca argumente coordonatele x si y si adauga punctul in poligon:
polig.addPoint(60,65);
Atunci cand obiectul poligon are toate punctele el poate fi desenat folosind una
dintre metodele drawPoliyon() sau fillPolygon(). Aceste metode au drept unic
argument obiectul de tip Polygon:
ecran.drawPolygon(polig);
Curs 6 - Java
➢ OVALE
Ex.
ecran.fillOval(235,140,15,15);
Curs 6 - Java
➢ ARCE DE CERC
Desenarea arcelor de cerc este o operatie ceva mai complexa; un arc este parte a
unui oval, fiind implementat de fapt ca parte a unui oval partial desenat.
Arcele sunt folosite cu ajutorul metodelor drawArc() si fillArc(), care preiau sase
argumente:
- coordonatele x si y ale ovalului din care face parte arcul
- latime si inaltime acestui oval
- unghiul de unde incepe trasarea arcului
- numarul de grade al arcului
➢ ARCE DE CERC
Arcele umplute sunt desenate ca si cand ar fi “felii” dar, in loc sa se uneasca direct
cele doua puncte terminale acestea sunt unite prin intermediul centrului formei
eliptice (ovalului).
Ex.
ecran.fillArc(20,25,300,150,-90,-180);
OPERATIUNI ADIACENTE
➢ COPIEREA SI STERGEREA
OPERATIUNI ADIACENTE
Daca dorim sa stergem intreaga fereastra applet putem determina mai intai
dimensiunea ferestrei folosind metoda getSize(). Aceasta returneaza un obiect
Dimension, care poseda variabilele width si height; acestea reprezinta dimensiunile
appletului.
Ex.
ecran.clearRect (0, 0, getSize().width, getSize().height);
In versiunile mai vechi de Java se putea folosi si size(), ea fiind de fapt inlocuita cu
getSize(), care functioneaza identic. In cazul in care utilizam size() vom primi un mesaj
de avertizare de la compilator, aceasta fiind considerata “deprecated”.
Curs 6 - Java
➢ TEXT SI FONTURI
Obiectele clasei java.awt.Font sunt folosite pentru a putea utiliza metoda drawString()
cu diferite tipuri de caractere.
Stilul de font poate avea trei valori apelate folosind constantele Font.PLAIN, Font.BOLD
si Font.ITALIC. Aceste constante pot fi insumate pentru a obtine o combinatie de
efecte.
Ex.
Font f=new Font("Dialog",Font.BOLD+Font.ITALIC,24);
Curs 6 - Java
Pentru a stabili fontul folosit in applet se utilizeaza metoda setFont() a clasei Graphics,
impreuna cu un obiect Font:
Ex.
Clasa FontMetrics poate fi folosita pentru a afla informatii detaliate despre fontul
curent, cum ar fi latimea sau inaltimea caracterelor pe care le poate afisa.
Pentru a folosi metodele acestei clase, trebuie mai intai creat un obiect FontMetrics
prin metoda getFontMetrics(). Aceasta metoda primeste un singur argument: un
obiect Font.
Un obiect FontMetrics poate apela mai multe metode:
- stringWidth(String) - intoarce latimea totala a sirului, in pixeli
- charWidth(char) - intoarce latimea unui caracter dat
- getHeight() - intoarce inaltimea totala a fontului
Ex.
Font f=new Font("Calibri",Font.BOLD,18);
FontMetrics fm=getFontMetrics(f);
Curs 6 - Java
➢ CULORI
Clasele Color si ColorSpace din pachetul java.awt pot fi folosite pentru a aduce culoare
in appleturi si aplicatii.
In mod prestabilit Java foloseste culorile conform sistemului RGB. Fiecare dintre cele
trei componente poate fi reprezentata cu un intreg din gama 0 - 255. Combinatia 0,0,0
reprezinta negru.
Putem specifica o combinatie RGB si prin trei valori in virgula mobila, in gama 0 - 1.
Ex.
Color c1=new Color(0.807F,1F,0F);
Color c2=new Color(255,204,102);
Curs 6 - Java
Culoarea curenta pentru desenare este desemnata folosind metoda setColor() a clasei
Graphics. Aceasta metoda trebuie apelata pentru obiectul Graphics care reprezinta
zona in care desenam. Intr-un applet acest obiect este cel transmis metodei paint().
Ex.
ecran.setColor(Color.PINK); // merge la fel si cu Color.pink
Color culoareamea=new Color(255,204,102);
ecran.setColor(culoareamea);
Curs 6 - Java
Daca vrem sa aflam care este culoarea curenta putem folosi metoda getColor() pentru
un obiect grafic, respectiv una dintre metodele getForeground() sau getBackground()
pentru clasa Applet.
Ex. se stabileste culoarea curenta pentru ecran - un obiect Graphics - ca fiind aceeasi cu
fundalul appletului:
ecran.setColor(getBackground());
Curs 6 – Java
➢ Clasele Java2D extind facilitatile claselor grafice din java.awt, cum sunt cele pe
care le-am vazut anterior. Ele nu inlocuiesc clasele existente ci doar aduc
posibilitati suplimentare noi.
COLORAREA JAVA2D
MODELE DE UMPLERE
GradientPaint(x1,y1,culoare1,x2,y2,culoare2);
Punctul x1,y1 este punctul de unde incepe culoare culoare1 iar x2,y2 este punctul
unde se termina trecerea la culoare2.
MODELE DE UMPLERE
Toate operatiile de desenare care vor urma pentru obiectul ecran2D vor folosi acest
model de umplere.
Curs 6 - Java
MODELE DE UMPLERE
Toate operatiile de desenare care vor urma pentru obiectul ecran2D vor folosi acest
model de umplere prin textura.
Curs 6 - Java
TUSE DE DESEN
Ex.
BasicStroke tusa = new BasicStroke(2.0f);
ecran.setStroke(new BasicStroke(3.0f));
Curs 6 - Java
TUSE DE DESEN
TUSE DE DESEN
LINII
Se creaza folosind clasa Line2d.Float (de fapt este o subclasa a clasei Line2D din
pachetul java.awt.geom). Aceasta clasa preia patru argumente:
DREPTUNGHIURI
ELIPSE
Obiectele ovale sunt numite in Java2D “elipse” si pot fi create cu ajutorul clasei
Ellipse2D.Float. Este nevoie de patru argumente: coordonatele x, y, latimea si
inaltimea.
Instructiunea de mai jos creaza o elipsa la coordonatele x,y = 113 si 25, cu o latime
de 22 pixeli si o inaltime de 40 pixeli:
Coordonatele x,y se refera la coltul din stanga-sus al zonei in care este inscrisa
elipsa.
Curs 6 - Java
ARCE
Acestea sunt create prin clasa Arc2D.Float. Sunt create asemanator cu versiunea lor
non-2D dar cu o diferenta: putem stabili modul de inchidere.
Arc2D.Float primeste sapte argumente. Primele patru se refera la elipsa din care
face parte arcul: coordonatele x, y, latimea si inaltimea. Ultimele trei se refera la
unghiul de unde incepe desenarea, numarul de grade pe care se intinde si un intreg
care stabileste modul de inchidere.
Exista o deosebire fata de arcele non-2D: numarul de grade pe care se intinde
arcul 2D este specificat ca avand sensul pozitiv in sensul acelor de ceas.
POLIGOANE
Acestea sunt create in Java2D prin deplasarile dintr-un punct al poligonului in altul.
Deplasarile necesare pentru crearea poligonului sunt definite in obiectul
GeneralPath, care apartine pachetului java.awt.geom.
Metoda moveTo() a clasei GeneralPath este folosita pentru a crea primul punct al
poligonului.
polig.moveTo(5f,0f);
Metoda lineTo() se foloseste pentru crearea unei linii care incepe din punctul curent
si se termina intr-un nou punct:
polig.lineTo(205f,0f);
polig.lineTo(205f,90f);
Curs 6 - Java
POLIGOANE
Daca vrem sa inchidem un poligon se poate folosi metoda closePath() fara nici un
argument:
polig.closePath();
TEXT