Sunteți pe pagina 1din 7

Varga Annamaria

Master Informatic An II
Tehnologii Java Avansate

Interfee grafice

Pentru comunicarea ntre utilizator i program se folosete o interfat grafic utilizator


(Graphical User Interface - GUI). Cele mai utilizate interfee grafice utilizator sunt:
Windows (a firmei Microsoft), XWindow (pentru sistemele de operare Unix sau Linux) i
Macintosh (a firmei Apple). Pe ecran apar mai multe componente sau controale, care conin
diferite obiecte grafice (deci care au o reprezentare pe ecran): meniuri, butoane, casete de
dialog, etichete, imagini, etc. Pentru a efectua o aciune n cadrul programului, utilizatorul
foloseste tastatura sau mouse-ul.
Limbajul Java permite realizarea interfeelor grafice independente de platforma pe
care se execut aplicaiile. Deoarece la dispoziia programatorilor exist o mulime de
componente grafice, care sunt implemementate pe diferite sisteme de operare, este posibil ca
acelasi obiect grafic sa aiba aspecte diferite pe diverse sisteme de operare. Programatorul
utilizeaz aceste componente fr s fie necesar implementarea acestora. De la primele
versiuni de Java exist pachetul java.awt, care conine clase i interfee pentru diversele
componente grafice (AWT Abstract Window Toolkit). O alta modalitate de creare a
interfeelor grafice este Swing . Acesta este construit folosind multe clase din AWT, dar apare
i clase noi i multimple faciliti. Swing face parte dintr-o colecie foarte mare de clase care
formeaz JFC (Java Foundation Classes).
De regul, un suport software pune la dispoziia programatorului urmtoarele
elemente:

O bibliotec de elemente de control (bare de defilare, chenare, butoane etc.).


Aceast bibliotec elibereaz programatorul de sarcina de a desena i colora de

fiecare dat toate elementele GUI ale unei aplicaii;


un manager de ferestre: acesta este cel care impune cum arat elementele GUI,
dicteaz modul n care este asamblat i echipat o fereastr, precum i modul n
care va fi manipulat. Mediul Windows are ncorporat un astfel de manager de
ferestre, care definete aspectul general al unei ferestre Windows. Mediul Linux
1

este mai configurabil din acest punct de vedere, permind utilizatorului o gam

mai variat de manageri de ferestre: GNOME, KDE, FVWM, etc.;


o bibliotec de funcii sau clase predefinite. Aceast bibliotec permite construirea
interfeei grafice, pornind de la fereastra aplicaiei, conform standardului impus de
managerul de ferestre instalat pe maina pe care ruleaz aplicaia. Limbajul Java 2
ofer pachetul predefinit java.awt (Abstract Window Toolkit), mpreun cu o serie
de subpachete ale acestuia, care ncorporeaz clasele necesare pentru a construi
aplicaii grafice. [4]

n figurile urmtoare sunt date dou ierarhii de clase pentru componentele grafice din
pachetul AWT.

Fig. 1

Fig. 2

Toate clasele date mai sus sunt cuprinse n pachetul java.awt, cu o singur excepie:
clasa Applet, care este coninut n pachetul java.applet. Rdcina ierarhiei tuturor
componentelor din AWT care nu sunt folosite pentru meniuri este clasa Component, care
este o clasa abstract.
Un obiect are o reprezentare grafic n interfa i poate s interacioneze cu
utilizatorul. Un astfel de obiect trebuie:
s fie construit (exist mai muli constructori pentru aceste clase),
s fie poziionat pe o suprafa de afiare (ex. o fereastra),
s fie dimensionat i eventual s i se atribuie anumite valori proprietilor pe care le are.

Cteva dintre cele mai utilizate metode ale clasei Component (din cele peste 200
metode existente), motenite de subclasele acesteia:
clasa Dimension - are ca membri: width si height (limea i nlimea componentei);
clasa Rectangle - are ca membri: width, height, x, y (limea, nltimea i coordonatele x,y
ale colului stnga-sus al dreptunghiului care contine componenta);
clasa Color - permite gestiunea culorilor;
clasa Font - conine informaii despre fontul utilizat.
Metode de precizare (setare) sau determinare a dimensiunilor i a coordonatelor
componentei:
public void setSize(int width, int height) - seteaz dimensiunile (lime,
nltime);
public void setSize(Dimension d) - seteaz dimensiunile;
public void setBounds(int x, int y, int width, int height) - seteaz
coordonatele x,y ale originii componentei (coltul din stnga-sus) i dimensiunile acesteia
(lime, nltime);
public void setBounds(Rectangle r) - seteaz dimensiunile i coordonatele
componentei;
public int getX() - determin coordonata x a originii componentei;
public int getY() - determin coordonata y a originii componentei;
public int getWidth - determin limea componentei;
public int getHeight - determin nlimea componentei;
public Dimension getSize() - determin dimensiunile componentei (lime i
public Rectangle getBounds() - determin dimensiunile i coordonatele
componentei (lime, nlime, x, y); [3]
Amplasarea elementelor n spaiul containerului este fcut de obiecte speciale
(plasatori), care aparin unor clase descendente din LayoutManager. Cele mai cunoscute
asemenea clase sunt FlowLayout i BorderLayout. Pentru a folosi plasatorul, obiectul care
reprezint containerul va trebui ca nainte de a aduga elemente GUI, s apeleze metoda
setLayout dndu-i parametru referina la un obiect de tip FlowLayout.[4]
Pentru vizualizare exist metodele:
4

public void setVisible(boolean visible) - conform valorii argumentului, metoda


face componenta vizibil sau invizibil;
public void isVisible() - d valoarea true n cazul n care componenta este vizibil;
Receptorul de eveniment este un obiect care are metode cu nume prestabilite, ale
cror definiii se gsesc n interfee cu nume prestabilite. Exist cte o interfa specific
fiecrui tip de eveniment. De exemplu, pentru recepionarea evenimentelor din clasa
WindowEvent, trebuie implementat interfaa WindowListener. Metodele din interfeele
EvenimentListener au ca parametru o referin la evenimentul corespunztor. De exemplu,
metodele din interfaa WindowListener au ca parametru o referin la WindowEvent.
Metodele din clasa ActionListener au ca parametru o referin la ActionEvent. [4]
Pentru desenarea/redesenarea componentei exist metodele:
public void paint(Graphics g) - deseneaz componenta folosind contextul grafic g;
public void repaint() - redeseneaz componenta;
Pentru precizarea/determinarea unor proprieti utile la desenare avem metodele:
public void setBackground(Color c) - seteaz culoarea de fond a componentei;
public void setForeground(Color c) - seteaz culoarea de desenare a componentei
(culoarea textului si a desenului de pe component);
public Color getBackground() - d culoarea de fond a componentei;
public Color getForeground() - d culoarea de desenare a componentei;
public void setFont(Font f) - precizeaz fontul componentei;
public Font getFont() - d fontul folosit de component;
Este posibil s se proiecteze interfaa grafic astfel nct pozitionarea componentelor
s se fac preciznd efectiv coordonatele i dimensiunile absolute ale componentelor cu
ajutorul metodelor:
se precizeaza faptul ca nu se foloseste un gestionar de pozitionare: setLayout(null);
se foloseste metoda de stabilire a poziiei i a dimensiunilor: public void
setBounds(int x, int y, int width, int height); [3]

Aplicatiile Java se impart n trei mari clase:

Aplicaii de sine stttoare (stand-alone)


Aplicaii rulate pe clientul http (applets). Apleturile sunt executate de ctre un

browser care are implementat masina virtuala java (java enabled browsers).
Aplicaii rulate pe server (servlets). Servleturile sunt similare apleturilor prin aceea c
se lanseaz n execuie cnd aplicaia ruleaz deja.

Aplicaiile de sine stttoare se mpart dup tipul de interaciune cu utilizatorul in:

Aplicaii de consol - gen de interfata orientat pe caracter precum interfaa sistemului

de operare dos.
Aplicaii grafice (interfa grafic de tip fereastr). Aceste interfee folosesc GUI
(Graphic User Interface). Aplicaiile ce ruleaza pe server sau pe client necesit ca
serverul sau clientul sa fie java enabled - mai precis, aplicaiile server/client s aib
implementate masina virtuala Java.

Interfaa grafic cu utilizatorul (GUI), este un termen cu neles larg care se refer la toate
tipurile de comunicare vizual ntre un program i utilizatorii si. Aceasta este o
particularizare a interfeei cu utilizatorul (UI), prin care vom nelege conceptul generic de
interaciune ntre un program i utilizatorii si.
Biblioteca de clase care ofer servicii grafice se numete java.awt, AWT fiind
prescurtarea de la Abstract window toolkit, i este pachetul care care a suferit cele mai
multe modificri n trecerea de la o versiune JDK la alta. Structura de clase din Swing este
asemntoare cu cea din AWT,n sensul c toate componentele interfeei grafice sunt derivate
dintr-un singur printe numit JComponent (care este derivat din clasa AWTContainer).
Pachetul de clase Swing reprezint soluia furnizat de Sun pentru crearea unor interfee
utilizator grafice complet portabile pe orice platform. n Swing, toate numele claselor ncep
cu litera J, i atunci cnd este posibil, numele este acelai cu cel al clasei AWT pe care o
nlocuiete. La fel ca la AWT, punctul de plecare pentru un program bazat pe Swing, este
clasa JFrame sau clasa JApplet. [5]

Bibliografie:
[1] https://web.info.uvt.ro/~cristiana.dragoescu/ANUl%20II/Java/Curs_10_IGr.pdf
[2] http://control.aut.utcluj.ro/isp/lab8/interfetegrafice2.htm#_Toc165944862
[3] http://www.cs.ubbcluj.ro/~anca/grafica/documente/Interfata.pdf
[4] http://www.aut.upt.ro/~adrianaa/teaching/PJis/Lucrarea%209.pdf
[5] https://www.scribd.com/doc/21112311/PROIECTARE-INTERFETE-GRAFICE

S-ar putea să vă placă și