Sunteți pe pagina 1din 6

UNIVERSITATEA DIN CRAIOVA FACULTATEA MATEMATICA-INFORMATICA

PROIECT TEHNICI AVANSATE DE PROGRAMARE

2010

Prezentarea aplicatiei

Aplicatia consta in prezentarea meniului unui restaurant si gestionarea comenzilor.In cadrul aplicatiei se poate viziona meniul curent, adauga o comanda, crearea unei comenzi noi sau adaugarea unui preparat in cadrul meniului.

Prezentarea claselor aplicatiei

Aplicatia contine urmatoarele clase:

1. Clasa ADDProdus este o extensie a clasei JInternalFrame continuta in cadrul bibliotecii swing.Aceasta permite adaugarea unui nou produs in cadrul meniului. Aceasta clasa ii mai permite utilizatorului introducerea unui nume intr-un JTextField situat sub JLabel-ului nume si a ingredientelor unei compozitii intr-o JTextArea , a unui pret , de asemenea cele doua butoane de tip JButton pentru adaugarea sau anularea adaugarii produsului. Contine urmatoarele metode: ADDprodus() este constructorul clasei, in cadrul acestuia se apeleaza metoda initComponents() pentru a define frame-ul si componentele sale, de asemenea aici se face referinta la clasa Afisare meniu, aceasta fiind clasa parinte. jButton2MouseReleased() apeleaza metoda dispose(); jButton1MouseReleased() se conecteaza la baza de date pizza.db, inserand in cadrul tabelului produs o noua inregistrare ale carei campuri contin datele introduse de la tastatura: stm.executeUpdate("INSERT INTO produs values(null" + ",'" + nume.getText() + "','" + compozitie.getText() + "'," + pret.getText()

+ ");"); Se apeleaza metoda DesenareTabel() din cadrul clasei AfisareMeniu ,iar apoi metoda dispose().

2. Clasa AfisareMeniu este clasa ce contine meniul pizzeriei si meniul de gestionare a comenzilor in cadrul restaurantului. Meniul pizzeriei este stocat in cadrul unei componente JTable, ce face referire la pozitia unui preparat in meniu, numele acestuia, descrieresa si pretul. Cu ajutorul celor 3 componente de tip JButton, utilizatorul poate adauga un produs la meniu, a face o comanda noua sau a mai adauga un produs la comanda curenta,poate cauta un produs sau il poate elimina din meniu. Contine urmatoarele metode: AfisareMeniu() este constructorul clasei, in cadrul acestuia se apeleaza metoda initComponents() pentru a define frame-ul si componentele sale, in cadrul acestuia se apeleaza si metoda DesenareTabel(); jButton1MouseReleased() creeaza o instanta a clasei Addprodus; jButton2MouseReleased() apeleaza metoda addProdus din cadrul clasei ComandaInter, parsandu-i componentei JTable meniu, datele din cadrul inregistrarii selectate din baza de date; jButton3MouseReleased() creeaza o instanta a clasei ComandaInter; jButton4MouseReleased() creeaza o instanta a clasei Cautare; jButton5MouseReleased() se conecteaza la baza de date pizza.db, stergand din cadrul tabelului produs inregistrarea selectata: try{ Class.forName("org.sqlite.JDBC"); Connection conn = DriverManager.getConnection("jdbc:sqlite:pizza.db"); Statement stm = conn.createStatement(); stm.executeUpdate("DELETE id="+meniu.getValueAt(meniu.getSelectedRow(), 0)); }catch(Exception ex) { FROM produs where

ex.printStackTrace(); } DesenareTabel(); } Apoi apeleaza metoda DesenareTabel(); DesenareTabel() se conecteaza la baza de date pizza.db, selecteaza toate campurile inregistrarilor din cadrul tabelului produs si adauga datele in cadrul componentei JTabel meniu conform campurilor id, nume ,pret compozitie main initializeaza un obiect de tip AfisareMeniu, astfel incat face posibila vizualizarea pe ecran a frame-ului.

3. Clasele ComandaInter in cadrul acesteia utilizatorul selecteaza ce produs mai doreste sa adauge in cadrul comenzii, stergand pe cele ce sunt in plus. Sunrt folosite component de tip JTable ce afiseaza gama de produse a meniului, JLabel pentru costul total al comenzii,iar cele 3 componente de tip JButton sunt pentru salvarea comenzii, anularea acesteia si pentru stergerea produsului nedorit in comanda. Contine urmatoarele metode: ComandaInter() este constructorul clasei, in cadrul acestuia se apeleaza metoda initComponents() pentru a defini frame-ul si componentele sale; jButton3MouseReleased() sterge inregistrarea selectata din cadrul componentei JTable meniu si apoi apeleaza metoda sum(); jButton2MouseReleased() apeleaza metoda dispose(); jButton1MouseReleased() se conecteaza la baza de date pizza.db, insereaza o noua inregistrare in cadrul tabelului comanda continand campurile si datele din componenta meniu si campul cost al comenzii. Tot in cadrul acestei metode se apeleaza apoi metoda dispose(); addProdus() adauga un produs in cadrul componentei meniu, conectyandu-se la baza de date pizza.db, si selectand toate campurile inregistrarii cu id-ul corespunzator inregistrarii noi din meniu adaugand datele din cadrul campurilor id, nume si pret, se apeleaza apoi metoda sum; sum() in cadrul acestei metode se calculeaza valoarea unei comenzi;

4. Clasa Cautare in cadrul acestei clase este generata cautarea unui preparat dupa nume sau produs. Rezultatul cautarii fiind afiosat in cadrul unei componenete de tip JTable, de asemenea mai sunt folosite componente de tip JLabel,JTextField si JButton. Contine urmatoarele metode: Cautare() - este constructorul clasei, in cadrul acestuia se apeleaza metoda initComponents() pentru a defini frame-ul si componentele sale; jButton1MouseReleased() se conecteaza la baza de date selectand toate campurile inregistrarii din tabelul produs, al carei camp nume se regasea cu cel introdus de la tastatura. Astfel se afiseaza datele campuruilor id, nume ,comnpozitie si pret in cadrul unei componente de tip JTable. jButton2MouseReleased() se conecteaza la baza de date selectand toate campurile inregistrarii din tabelul produs, al carei camp compozitie se regasea cu cel introdus de la tastatura. Astfel se afiseaza datele campuruilor id, nume ,comnpozitie si pret in cadrul unei componente de tip JTable.

5. Clasa PizzerieApp este clasa extensie a clasei SingleFrameApplication ce lanseaza si instantiaza aplicatia.

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