Sunteți pe pagina 1din 10

Java 2 Advanced

Modul 1

Majoritatea aplicatiilor astazi folosesc o interfata grafica, ce are importantul rol de


comunicare intre utilizator si computer. Diferenta intre lucrul cu o consola penru
folosirea unei aplicarii software si o interfata grafica este aceea ca interfata grafica
interactioneaza in mod direct cu utilizatorul si creeaza astfel un mediu userfriendly. Orice aplicatie software ce are ca destinatie finala un utilizator oarecare
( fara experienta in domeniu IT ) trebuie sa foloseasca musai o interfata grafica (GUI
Graphic User Interface) deoarece aceasta este mult mai usor de invatat chiar si
pentru cineva care nu a avut tangente cu programul respectiv.

Exista mai multe metode de dezvoltare a interfetelor grafice cu Java. Ne amintim de


modalitatile de creare de appleturi folosind pachetul java.awt si de metodele de
dezvoltare a aplicatiilor stand-alone cu pachetul java.swing; Swing este tehnologia
pe care o vom folosi in continuare pentru dezvoltarea tuturor aplicatiilor la cursul de
Java 2 Advanced, de aceea vom face un studiu aprofundat in primele doua module
ale cursului pentru a intelege pe deplin toate componentele pe care le vom folosi in
vederea dezvoltarii aplicatiilor cu baze de date sau cu comunicare la nivelul unei
retele.
Laboratoarele la acest curs le vom dezvolta in mediul de programare NetBeans.
Puteti descarca aplicatia gratuit de pe siteul official NetBeans www.netbeans.org ;

Pentru inceput sa ne amintim modul de creare a unei ferestre folosind tehnologia


swing. Clasa JFrame este cea care descrie un obiect de tip fereastra. O fereastra
este de asemenea un container, ceea ce inseamna ca poate sustine alte
componente. Fereastra este princialul obiect de tip container folosit pentru crearea
unei interfete grafice pentru o aplicatie software.

Putem observa caracteristica de container a unei ferestre din ierarhia de mostenire


a claselor:
java.lang.Object
java.awt.Component
java.awt.Container
java.awt.Window
java.awt.Frame

javax.swing.JFrame

Clasa JFrame are urmatorii constructori pe care ii vom folosi:

JFrame()
JFrame(String s)

Cel mai des vom folosi al doilea constructor pentru crearea instanelor de ferestre.

Metodele importante ce defines comportamentul obiectului de tip fereastra sunt


urmatoarele:

setIconImage(Image i)
setLayout(LayoutManager lm)
setJMenuBar(JMenuBar mb)

De asemenea foarte importanta este metoda add(Component c) parte a


comportamentului oricarui container, pe care o vom folosi pentru adaugarea de
component pe fereastra.
Pentru inceput sa vedem modul de dezvoltare a unei aplicatii care sa deschida o
fereastra de tip JFrame:
Dupa deschiderea aplicatiei NetBeans va trebui sa continuam cu deschiderea unui
nou proiect pentru a creea aplicatia ceruta. Pentru a crea un proiect nou trebuie fie
sa apasam optiunea New Project din meniul File, fie sa folosim scurtatura din taste
Ctrl Shift N. Imaginile de mai jos va arata modul de creare a unui proiect nou cu
NetBeans.

Selectam mai departe tipul de proiect care este Java Application;

Dupa acest pas trebuie sa denumim proiectul. Numele folosit de mine a fost
Aplicatie1;

Dupa deschiderea ferestrei de editare a clasei principale a programului Main, scrisa


in fisierul Main.java, ce contine si metoda main(), se poate continua cu scrierea
aplicatiei.
Fara a creea un alt fisier, am scris o aplicatie care deschide o fereastra la pornirea
acesteia.
Pentru inceput fereastra aparefara o dimensiune in coltul din stanga sus al
ecranului. Pentru a ii seta acesteia o dimensiune si o pozitie default de deschidere
putem folosi fie metoda setBounds(): definita astfel:

public void setBounds(int x,int y, int width, int height);

fie separate metodele setSize() si setLocation(), definite in urmatorul mod:

setSize(int width, int height);


setLocation(int x,int y);

Totusi, nu ne putem lauda momentan decat ca am creat o fereastra definita de clasa


JFrame. Desigur, pe aceasta instanta de fereastra am putea foarte usor sa adaugam
alte componente, cum ar fi butoane, campuri de text sau etichete pentru afisare,
totusi modalitatea de dezvoltare a unei aplicatii software profesionale nu este
aceasta.
In continuare vom dezvolta o clasa care instantiaza obiecte de tip fereastra ce au
dj aplicate pe acestea un buton. Practic, acesta este modul in care se dezvolta
ferestre utile in asamblarea unui program. Vom denumi aceasta clasa:
FereastraPrincipala; Pentru a crea o clasa noua in cadrul aplicatiei noastre in
NetBeans mai intai vom da click dreapta pe aplicatie1, din interiorul proiectului
dezvoltat de noi. Acesta este folderol de contine fisierul Main.java; Pe meniul pop-up
deschis dupa click dreapta din optiunea New vom allege Java Class;
Dupa denumirea noului fisiere FereastraPrincipala putem modifica continutul
acestuia in editorul de text care s-a deschis in partea dreapta.
Aici vom importa pachetul javax.swing imediat dupa apelul instructiunii package:
import javax.swing.*;
Este necesar pentru inceput sa mostenim clasa JFrame; pentru acest lucru folosim
keyword-ul extends, asa cum dj stim. Definitia clasei devine:
public class FereastraPrincipala extends JFrame{
}
In interioarul acoladelo va trebui sa scriem componentele clasei: Atributele,
Constructorul/Constructorii si Comportamentul obiectului FereastraPrincipala ce
urmeaza s ail definim.
Singurul atribut al obiectului de tip FereastraPrincipala in acest caz este un obiect
de tip buton;

public JButton b = new JButton("Maimutzica");

Dupa cum ne amintim obiectul de tip buton este definit in clasa JButton. Cu
acesta clasa putem defini butoane cu text sau cu imagine. Pentru inceput vom
folosi constructorul pentru definirea unui buton cu text;
Constructorii clasei JButton sunt:
1) public JButton ();
2) public JButton(String text);
3) public JButton(Icon ico);

4) public JButton(String text, Icon ico);


Constructorul definit va arata astfel:

public FereastraPrincipala(String titlu){

super(titlu);
getContentPane().add(b);

}
Dupa cum se poate observa constructorul primeste un paramentru de tip String.
Acest parametru reprezinta titlul ferestrei, mai prcis textul care urmeaza sa apara
pe bara de titlu la deschiderea ferestrei, sau altfel, va avea acelas rol cu argumentul
primit de constructorul JFrame(String titlu);
Vom trimite paramentrul catre constructorul clasei pe care o mostenim cu ajutorul
metodei super(), ce trebuie neaparat apelata ca prima linie a cosntructorului pe
care il descriem;
Mai departe adaugam pe fereastra butonul cu sintaxa getContentPane().add(b);
In acest moment putem spune am am terminat construirea clasei
FereastraPrincipala;
Revenim la clasa Main unde cream o instant a obiectului FereastraPrincipala si il
pozitionam pe ecran.

Daca dorim ca butonul nostru sa fie reprezentat si de o imagine pe langa text va


trebui sa folosim constructorul:
1) public JButton(String text, Icon ico);
Vom face cateva modificari in clasa FereastraPrincipala; Atrubutele clasei vor
deveni:

public Icon imi = new ImageIcon("animal.jpg");

public JButton b = new JButton("Maimutzica",imi);

Imaginea animal.jpg am adaugat-o in diectorul din proiect in care se afla si


fisierele sursa si in cel in care se afla clasele compilate (fisierele cu extensia .class).

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