Sunteți pe pagina 1din 2

Exemplul 1

Creati clasa Screen (ecran) care sa fie caracterizata de cele doua dimensiuni de
afisare: width si height. Aceste doua atribute exprima rezolutia ecranului. La
crearea unui Screen asigurati perechi de valori de genul: 800 x 600, 1024 x 768,
1280 x 720, 1280 x 768 sau alte combinatii pertinente. Daca utilizatorul nu specifica
o pereche de valori, Screen-ul va fi creat la rezolutia standard 800 x 600.
Creati clasa Window care sa fie caracterizata de doua dimensiuni: width si height.
Acestea reprezinta latimea si inaltimea ferestrei afisata pe un ecran.
Creati clasa PopUp si AlertBox care mostenesc Window si care sunt caracterizate
in plus de un mesaj text. Creati si interfata necesara accesarii mesajului text.
Mesajul text din AlertBox va fi intotdeauna precedat de sirul Atentie! .
Clasa PopUp implementeaza interfata Resizable. Aceasta interfata contine doar
metoda Resize, si care, implementata in clasa PopUp permite ajustarea
dimensiunilor ferestrei, insa nu mai mica de 30 x 30.
Clasa Screen agrega intr-un sir atat obiecte PopUp cat si AlertBox. Screen accepta
(pot adauga) noi ferestre fara a le suprapune peste cele existente si fara a depasi
latimea/inaltimea ecranului. Acest sir contine ferestrele afisate pe ecran.
Intr-o clasa de test creati un Screen in care sa adaugati mai multe ferestre.
Demonstrati ca daca fereastra curenta pe care doriti sa o adaugati nu mai incape fie
pe latimea / inaltimea ecranului, ecranul o poate redimensiona (daca este PopUp) si
in consecinta adauga si daca este AlertBox nu, afisand mesajul Spatiu de afisare
insuficient! Inchideti o parte din ferestrele afisate pe ecran.
Nota:
Pentru rezolvarea problemei, alegeti o varianta de afisare a ferestrelor pe ecran: pe
orizontala sau pe verticala.

Exemplul 2
Creati clasa Simbol care sa fie caracterizata de un caracter (char). Asigurati-va ca
nu se poate instantia din aceasta clasa.
Creati clasele Litera si Cifra care mostenesc clasa Simbol. O litera nou creata va
putea avea valori in intervalul a-e iar o cifra noua valori intre 1-5.
Creati interfata Iterator care sa contina urmatoarele metode:

End indica daca s-a ajuns la ultimul element din colectie sau nu

Get returneaza elementul curent pe iteratie

Creati clasa Colectie care sa agrege un sir de Simboluri. Pentru implementarea


sirului folositi Vector sau ArrayList (din biblioteca standard Java).
Creati clasele IteratorLitere si IteratorCifre ca si clase interne (inner) pentru
Colectie. Acesti iteratori implementeaza interfata Iterator pentru a oferi acces la
elementele din sirul agregat de Colectie in moduri specifice: IteratorLitere itereaza
doar pe literele din sir iar IteratorCifre doar pe cifrele din sir.
Intr-o clasa de test creati o Colectie cu 100 de simboluri (create aleator din tipurile
Litera si Cifra). Afisati separat literele iar apoi cifrele din colectia de simboluri
folosind iteratorii creati.