Вы находитесь на странице: 1из 20

TEHNIKO VELEUILITE U ZAGREBU

STRUNI STUDIJ RAUNARSTVA

Alexander timac

JAVA SWING APLIKACIJA ZA KREIRANJE ZAPISNIKA SA SASTANAKA

Zagreb, veljaa, 2011.

Saetak: U ovom seminarskom radu opisan je postupak izrade aplikacije za automatsko generiranje zapisnika sa sastanka te kratak opis svih koritenih tehnologija. Aplikacija je izraena u programskom jeziku Java pomou Swing i JDBC tehnologija. Swing sadri klase i komponente potrebne za izradu modernog grafikog suelja, a JDBC je izvrstan API za komunikaciju s bazama podataka. Ukupno su obraena tri poglavlja koja ine seminarski rad. U prvom su opisane koritene tehnologije zajedno s Java programskim jezikom i njezinom povijeu .U sljedeem poglavlju opisani su poslovni sastanci te zapisnici koji se u veini sluajeva piu runo. Opisana je njihova primjena, razlog koritenja, prednosti i nedostaci. Na posljetku je objanjena primjena i mogunosti automatsko generiranog zapisnika, prikazane su dijelovi programskog koda zajedno s fotografijama.

Rjenik pojmova
Source code tekst napisan u programskom jeziku. Sadri niz instrukcija koje mogu biti prevedene u strojni jezik koji raunalo moe proitati i izvriti. Java Bytecode visoko optimiziran set instrukcija koji Java Virtual Machine moe izvriti. Java Virtual Machine prividno raunalo koje izvrava bytecode. Moe biti implementirano na razliite platforme ime je omogueno pokretanje aplikacija na razliitim ureajima. Open source otvoreni kod aplikacije koji je dostupan javnosti na koritenje i izmjene. Svrha stavljanja otvorenog koda na Internet je pozivanje to vie ljudi da sudjeluju u razvoju aplikacije kako bi postala to bolja. Java Applet manja aplikacija koja izvrava neku zadau a moe se pokrenuti u Web pregledniku pomou Java Virtual Machine. Compiler set raunalnih programa koji prevode izvorni kod iz jednog programskog jezika u drugi. Glavna zadaa Compiler-a je prevoenje high-level programskih jezika u strojni jezik kojeg raunalo raunalo. Megabyte mjerna jedinica za digitalnu pohranu podataka na raunalu. Bug greka koja uzrokuje smetnje i neispravno koritenje u programu. Nasljeivanje pojam u objektno orijentiranim programskim jezicima koji se odnosi na injenicu da jedna klasa moe naslijediti dio ili sva svojstva i ponaanja druge klase. Polimorfizam jedna od glavnih osobina koje se odnose na objektno - orijentirano programiranje. Omoguava klasi da definira metode koje mogu biti zajednike za sve ostale klase koje su iz nje izvedene. Enkapsulacija omoguuje sakrivanje podataka objektna tako da postanu nedostupni klasama koje ih ne bi trebale mijenjati Apstrakcija pojam koji se odnosi na nedovrene klase iz kojih nije predvieno kreiranje objekata, ve su namijenjene za nasljeivanje.

Sadraj
1. Uvod .................................................................................................................................................... 5 2. Izrada aplikacije u programskom jeziku Java....................................................................................... 6 2.1. Programski jezik Java .................................................................................................................... 6 2.2. Java Swing..................................................................................................................................... 7 2.3. JDBC .............................................................................................................................................. 8 3. Poslovni sastanci.................................................................................................................................. 9 3.1. Primjena zapisnika ...................................................................................................................... 10 3.2. Prednost i nedostaci ................................................................................................................... 10 4. Automatsko generirani zapisnik sa sastanaka ................................................................................... 11 4.1. Baza podataka ............................................................................................................................ 12 4.2. Log In Screen .............................................................................................................................. 13 4.3. Odabir prisutnih osoba ............................................................................................................... 14 4.4. Unos novog zaposlenika ............................................................................................................. 15 4.5. Organizacija dnevnog reda ......................................................................................................... 16 4.6. Organizacija zakljuka sastanka.................................................................................................. 17 4.7. Generiranje zapisnika ................................................................................................................. 18 5. Zakljuak ............................................................................................................................................ 19 6. Popis literature .................................................................................................................................. 20

1. Uvod
U dananje vrijeme se veina dogovora rjeava poslovnom komunikacijom. Jedan od naina komunikacije je odlazak na poslovni sastanak. To je najei ali i najskuplji oblik bez kojeg je u dananje vrijeme nemogue napredovati i sklapati dogovore. Nezaobilazna toka sastanka je sastavljanje biljeki ili zapisnika. To je ujedno i poetna toka ovog seminarskog rada. Veina biljeki pisana je na papiru za vrijeme trajanja sastanka. Da bi se pohvatale sve vane informacije potrebno je paljivo sluati i brzo pisati to ini vrlo zahtjevan zadatak. Postoje jo i audio i video zapisi meutim nisu se pokazali dovoljno efikasnim. Poto je u dananje vrijeme ogroman broj stvari digitaliziran, treba zaboraviti na zamorno pisanje rukom jer postoji bolje rjeenje. U ovom seminarskom radu je predstavljena aplikacija koja e automatski generirati zapisnik i ispisati ga ili poslati sudionicima. Zapisniar e uz minimalan broj unosa podataka dobiti kvalitetan zapisnik koji e uzimati njegove natuknice i od njih raditi pune reenice.

2. Izrada aplikacije u programskom jeziku Java


2.1. Programski jezik Java
Java je objektno orijentirani programski jezik, neovisan o platformi koji je nastao iz jezika C++. Razvio ga je James Gosling, a prva verzija je izdana 1995. godine od tvrtke Sun. Glavno svojstvo jezika je to se njegov source code tijekom kompajliranja prevodi u takozvani bytecode. Bytecode moe biti izvren na bilo kojem operacijskom sustavu ili ureaju koji sadri Java Virtual Machine ( JVM ). Objektno orijentirano programiranje podrazumijeva razvijanje programa kod kojeg postoje grupe objekata koje meusobno komuniciraju. Objekti su stvoreni u predlocima zvanim klase, a sadre sve podatke i metode koje se u klasi nalaze. OOP (Objektno orijentirano programiranje) takoer obuhvaa principe apstrakcije, nasljeivanja, polimorfizma i enkapsulacije. Vano je napomenuti da Java koristi open source framework-ove i ve gotove library-e to oveliko olakava izradu aplikacija i ini je jednim od najpopularnijih programskih jezika dananjice. Postoji nekoliko Java platformi koje se koriste za izradu aplikacija. To su: Java Standard Edition ( SE ) iroko rasprostranjena platforma koja se koristi za izradu desktop aplikacija i appleta. Sadri pakete za rad s bazama podataka, mreama, grafikim sueljem i slino. Java Enterprise Edition ( EE ) platforma koja se koristi za izradu monih server side web aplikacija. Java Micro Edition ( ME ) platforma koja omoguuje izradu aplikacija za mobilne i ugradbene ureaje. Naalost, pomalo je zastarjela jer noviji ureaji koriste modernije platforme ( iPhone, Android, Windows 7 Mobile... ). Aplikacija za seminar je implementirana na Java SE platformi, koristi pakete za izradu grafikog suelja i povezivanje s bazom.

2.2. Java Swing


Swing je skup alata koji omoguuju izradu grafikog i korisnikog suelja ( GUI ), te

interakciju korisnika s aplikacijom. Interakcija moe biti putem tipkovnice, mia ili nekog drugog ulaznog ureaja. Alati su sastavni dio Java Standard Edition platforme, a prva izdana verzija sadravala je oko 250 klasa i 80 suelja. Takoer su sastavni dio Java Foundation klasa koje sadravaju sve potrebne komponente za izradu grafikog suelja. Komponente se nalaze u paketu
javax.swing.* kojeg je potrebno dodati klasi kako bi se mogle koristiti.

Uz Swing se koriste i paketi java.awt koji takoer sadri alate za izradu grafikog suelja, te
java.awt.event koji sadrava sve to je potrebno za interakciju korisnika s aplikacijom.

Gotovo svaka aplikacija s grafikim sueljem koristit e sljedee komponente:


JFrame - prozor koji je na vrhu hijerarhije kontejnera, sadri naslovnu traku, traku sa

alatima te Minimize, Maximize i Close gumbe.


JButton komponente za interakciju, mogu sadravati tekst ili sliku koja oznauje

njihovu primjenu.
JLabel - tekst ili slike koje pruaju informacije. TextField i TextArea komponente koje prihvaaju unos s tipkovnice.

Slika 2.1. Primjer Swing aplikacije koja sadri sve navedene komponente

2.3.

JDBC

JDBC ili Java Database Connectivity je suelje za programiranje klijent/server aplikacija koje pristupa relacijskim bazama podataka. Omoguuje spajanje s odreenom bazom, izvoenje sloenih SQL upita, pohranjivanje podataka u bazu, te dohvaanje rezultata upita nad bazom podataka. Prava vrijednost JDBC API-a je to pomou njega aplikacija moe pristupiti gotovo svim bazama podataka i kompatibilan je na svim platformama koje koriste Java Virtual
Machine. iroku primjenu ima u Appletima i Enterprise aplikacijama jer podrava pristup

podacima u dvoslojnom i troslojnom modelu. Veza prema bazi podataka se moe uspostaviti pomou objekta klase Connection i klase
DriverManager. Metoda getConnection prima tri parametra. To su tip i lokacija baze

podataka, korisniko ime i lozinku. Ako su svi podaci ispravni, DriverManager e otvoriti vezu prema zadanoj bazi. Ovdje se nalazi prikaz metode za spajanje koritene u seminarskom radu:
public void otvoriKonekciju(){ Connection conn = null; String url = "jdbc:derby:C:/Users/Alexander/MyDB"; String username = "seminar"; String password = "seminar"; try { conn = DriverManager.getConnection(url, username, password); System.out.println("Spojen na databazu."); }catch(SQLException e){ e.printStackTrace(); } }

Programski odsjeak 2.1. metoda za spajanje s bazom podataka

JDBC nudi i izvravanje upita nad bazom podataka. To omoguuju suelja Statement i PreparedStatement. Statement suelje je najee koriteno za jednostavne upite, dok PreparedStatement se koriste kada je isti upit potrebno pozvati vie puta.

Suelje statement koristi se na sljedei nain:


Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY); ResultSet rs = stmt.executeQuery("SELECT * FROM DEV.ZAPISNICAR");

Programski odsjeak 2.2. primjer suelja Statement i izvravanje upita Potrebno je uzeti u obzir da je veza prema bazi otvorena. Poziva se metoda koja odreuje pomak pokazivaa po tablici i konkurentnost rezultata. U ovom sluaju pokaziva se moe pomicati gore i dolje, a skup podataka je namijenjen samo za itanje. Nakon toga izvrava se upit metodom stmt.executeQuery, a rezultat se pohranjuje u objekt klase ResultSet.

3. Poslovni sastanci
Poslovni sastanci su jedan od najeih naina poslovnoga komuniciranja s kojima se pokree aktivnost i omoguuje primjena teorijskih spoznaja u praksi. Radi se o okupljanju djelatnika sa ciljem i svrhom. Razlozi odravanja sastanaka su: Komunikacija zaposlenika koja osigurava tonu razmjenu informacija. Donoenje proceduralnih zahtjeva i pravila poslovanje u tvrtki. Donoenje odluka koja omoguuje razmjenu znanja i udruivanje strunih miljenja te procjena najboljeg rjeenja i obvezivanje na njegovo provoenje. Kreativno rjeavanje problema s kojim se potie stvaranje novih ideja putem grupne interakcije. Razvoj timova u poslovnim organizacijama to podrazumijeva stvaranje lojalnosti tima, prilagoavanje novih lanova te unaprjeenje meusobnih odnosa. Poslovni sastanci predstavljaju najskuplji i najzahtjevniji oblik komuniciranja. Najskuplji su zbog raznih trokova i resursa koje je potrebno osigurati. To podrazumijeva putne i administrativne trokove, tiskanje uredskog materijala, trokove jela i pia te gubitak vremena. Uz to, potrebna su odreena znanja i vjetine u pripremi i voenju sastanka. Tako da e biti uinkovit jedino kada se sudionici, a posebice voditelj sastanka kvalitetno pripreme.

Tijek sastanka sastoji se od: Iznoenje dnevnog reda te upoznavanje i usmjeravanje svih sudionika o tokama o kojima e se raspravljati. Navesti cilj i oekivane krajnje ishode sastanka. Diskusije o navedenim tokama iz dnevnog reda po redoslijedu kojim su navedene. Donoenje zakljuka i dogovora te zatvaranje sastanka. Izrada zapisnika.

3.1. Primjena zapisnika


Zapisnik je pisana biljeka o sastanku ili sasluanju. Svrha mu je dati toan pregled i sadraj strukture susreta. Sadri osnovne informacije o sastanku, popis nazonih osoba, teme o kojima se diskutira, pitanja od strane nazonih te njihove odgovore. Pisan je u trenutku trajanja sastanka i trebao bih biti dostavljen svim sudionicima nakon zavretka. Kao to je ve spomenuto, primjenjuje se najvie na poslovnim sastancima te na sudu u pravomonim ustanovama. Najei oblik je runo pisani zapisnik, iako postoji i audio zapis. Meutim , audio zapis se ne preporuuje jer sadri mnogo nepotrebnih informacija koje se ne odnose na raspravu tema na sastanku. Pisani zapis je prihvatljivi jer sadri tone i konkretne informacije. Osoba zaduena za pisanje zapisnika je zapisniar, i on ne sudjeluje izravno u raspravama. Meutim, kao i svi sudionici, i on se treba pripremiti na nain da organizira svoje biljeke prije poetka sastanka kako bih bio to efikasniji.

3.2. Prednost i nedostaci


Zapisnik sa sastanaka ima iroku primjenu i mnogo prednosti radi kojih se koristi. Njegova izrada osigurava da odluke i planovi dogovoreni na sastanku nisu izgubljeni ili zaboravljeni. Sadri sve planove i zadae koje su sudionici duni napraviti. Takoer moe sluiti kao dobar preglednik za nekog tko nije prisustvovao i kao podsjetnik na radnje i diskusije u prolom sastanku. Meutim, kvalitetan zapisnik je teko sastaviti. Pogotovo ako zapisniar nema dovoljno znanja i vjetina da razlui bitne injenice iz cjelokupne diskusije na sastanku. Pogrene biljeke mogu dovesti do irenja dezinformacija i u krajnosti unititi itav sastanak. Ne treba ni spominjati kakva bi pogreka bila krivo napisana informacija za vrijeme suenja i odreivanje kazne.

10

4. Automatsko generirani zapisnik sa sastanaka


Automatsko generirani zapisnik sa sastanaka je Swing aplikacija napisana u potpunosti u Java programskom jeziku. Osnovna zadaa aplikacije je brzo i efikasno generiranje zapisnika koji sadri sve potrebne podatke i informacije o odranom sastanku. Osmiljena je kao arobnjak koji vodi zapisniara po odreenim koracima prema kojima se vodi sastanak. To su; prozivka, dnevni red, zakljuak i ispis. Prozivka se odnosi na provjeri svih osoba koje su bile pozvane na sastanak. Njihov popis i detalji zapisani su u bazu podataka, a prikazani su u tablici. Te osobe mogu biti svi zaposlenici jedne ili vie tvrtke, ili razliite osobe koje su obvezne dolaziti na sastanke. Zapisniar jednostavno odabire osobe i premjeta ih u drugu tablicu u kojoj se nalaze svi prisutni na sastanku. Oni koji se ne nalaze u toj tablici smatrat e se neprisutnima, te e imat opciju opravdano/neopravdano. Dnevni red omoguuje dodavanje toaka o kojima se vodi rasprava. Uz to potrebno je unijeti osnovne informacije o sastanku, a to su mjesto, vrijeme i datum sastanka. Nakon toga se unose informacije o stavkama. Svaka stavka treba imati njenog voditelja i temu. Teme mogu varirati od izvjetaja o radu, prezentacija pa sve do nekih neobaveznih razgovora. Natuknice slue za detaljno opisivanje teme, na primjer, da li je zahtjev odbijen ili prihvaen, tko se sloio sa zahtjevom ili rekao neto protiv i slino. Mogue je unijeti neogranieni broj toaka, a minimalno barem jednu. U zakljuku se specificiraju odluke koje su donesene na sastanku. Odluke sadravaju informacije o koracima koje je potrebno poduzeti, tko je zaduena osoba te koji je krajnji rok za uspjeno izvravanje odluke. Takoer je potrebno ispuniti i vrijeme zavretka sastanka, te ime zapisniara koji je sastavio zapisnik. U zadnjem koraku arobnjaka se sve informacije prikupljaju te organizirano ispisuju u jedan dokument. Organizirano znai da svakoj komponenti pripada odreeno mjesto, kako bi izgledao pregledno i profesionalno. Generirani zapisnik mogue je promijeniti i nadopisati dio teksta. U planu je implementirati vei broj opcija, kao na primjer promjena veliine i boje fonte, umetanje slika te na kraju pohrana dokumenta na disk i ispis.

11

4.1. Baza podataka


Apache Derby je open source relacijska baza podataka u potpunosti napisana u Java programskom jeziku. Koristi ve ugraeni JDBC driver, a bazirana je na Java i SQL standardima, stoga se koristi u ovom seminarskom radu. Koristi svega 2.6 Megabyte-a, te se vrlo lako implementira i koristi. Baza sadri tri tablice u kojima su spremljeni podaci. To su Zapisnicar, Zaposlenik i Zapisnik, a svaki od njih sadri povei broj atributa kako bi dobile to detaljnije informacije. U tablicu Zapisnik se pohranjuju svi uneseni podaci koji se kasnije preoblikuju u formu i kreiraju generirani zapisnik sa sastanaka. Takoer sadri i podatke o prolim sastancima koji su uneseni u bazu. U primjeru je prikazana izrada tablice Zaposlenik napisana u SQL jeziku:
CREATE TABLE dev.zaposlenik( id INT NOT NULL AUTO_INCREMENT, ime VARCHAR(50), prezime VARCHAR(50), titula VARCHAR(10), polozaj VARCHAR(25), prebivaliste VARCHAR(50), email VARCHAR(25), odjel VARCHAR(25) PRIMARY KEY(id) );

Programski odsjeak 4.1. : SQL kod za stvaranje nove tablice Kada je tablica stvorena, u nju je mogue pohraniti podatke na nain:
INSERT INTO dev.zaposlenik( ime, prezime, titula, polozaj, prebivaliste, email, odjel) VALUES('Elvira', 'Gospoi', 'mag.bioproc.ing', 'Ravnatelj', 'Zagreb', 'elvira@bolnica.hr', 'Uprava');

Programski odsjeak 4.2. : SQL kod za unos novih vrijednosti u tablicu

Imena i prezimena osoba koje se nalaze u bazi djelomino su uzeta sa stranice Akromion bolnice. Iskoritena su samo u demonstrativne svrhe i koritena su kao primjer tijekom izrade zapisnika sa sastanka.

12

4.2. Log In Screen


Prvi prozor koji se prikazuje nakon pokretanja aplikacije jest forma za prijavu. Ona osigurava sve podatke koji se nalaze u bazi. Bez nje bi svi podaci o tvrtki i zaposlenicima, te arhivi prolih sastanka mogli doi u pogrene ruke. Svaki zapisniar koji e koristiti ovu aplikaciju treba se registrirati i iskljuivo koristiti svoje korisniko ime i lozinku. Do registracije se dolazi pritiskom na desni gumb koji otvara formu koju je potrebno ispuniti i potvrditi. Podaci se spremaju u bazu, a zapisniar se napokon moe prijaviti.

Slika 4.1. Forma za prijavu zapisniara Metoda koja provjerava unos prima objekt klase Zapisnicar te u njega pohranjuje podatke koje je unio. Lozinku je potrebno prvo pretvoriti u niz znakova ( char ), a zatim u string kako ne bi dolo do pohrane tijekom usporeivanja. Nakon toga se otvara veza s bazom i poziva metoda provjeriLogin koja vraa vrijednosti true ili false, ovisno o tome jesu li podaci ispravni. U sluaju true prikazuje se glavni prozor aplikacije, a veza s bazom i Log in forma se zatvaraju.
private void provjera(Zapisnicar zapisnicar) throws SQLException{ zapisnicar.setUsername(userField.getText()); char[] text = passField.getPassword(); String pass = new String(text); zapisnicar.setPassword(pass); kon.otvoriKonekciju(); if(kon.provjeriLogIn(zapisnicar.getUsername(), zapisnicar.getPassword())){ glavni.setVisible(true); this.dispose(); kon.closeConnection(); System.out.println("Pristup odobren."); }else{ kon.closeConnection();}}

Programski odsjeak 4.3. : Metoda za provjeru korisnikog imena i lozinke zapisniara

13

4.3.

Odabir prisutnih osoba

Prozivka je obavezan dio poslovnog sastanka u kojem se utvruje tko je sve na njemu prisutan. Obino se svaki lan treba pisati runo, to zapisniaru oduzima dosta vremena, pogotovo ako na sastanku sudjeluje vei broj osoba. U automatsko generiranom zapisniku sa sastanaka taj je problem rijeen implementiranjem tablica. U lijevoj tablici nalazi se popis svih osoba koje su pozvane ili koje su obavezne dolaziti na sastanke, a desna tablica je prazna. Zapisniar treba oznaiti odreenu osobu i klikom na desnu strelicu preseliti tu osobu u drugu tablicu. Tako e sve prisutne osobe biti odijeljene, a one koje ostanu u lijevoj tablici smatrat e se neprisutnima.

Slika 4.2. Forma za odabir prisutnih osoba na sastanku Uz glavnu opciju odabira prisutnih, forma nudi dodatne mogunosti kao to su dodavanje ili brisanje svih osoba odjednom kako bi se jo vie ubrzao itav proces. Takoer postoji i mogunost dodavanja nove osobe u bazu. Pritiskom na gumb Dodaj novog otvara se potpuno nova forma koju je potrebno ispuniti.

14

4.4.

Unos novog zaposlenika

Za unos zaposlenika implementirana je metoda koja prima sve upisane parametre i pohranjuje ih u bazu podataka. Treba uzeti u obzir da je veza s bazom otvorena i nakon toga postaviti konkurentnost rezultata na promjene. Metodom moveToInsertRow() se postavlja pokaziva na prvi slobodni redak u tablici. Podaci se upisuju u tablicu tako da svaki string odgovara odreenom atributu u tablici. Pozivom insertRow()se potvruje transakcija i podaci su upisani u tablicu.
public void unesiZaposlenika(String ime, String prezime, String tit, String polozaj, String odjel, String email, String mjesto){ try { stmt = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE); rs = stmt.executeQuery("SELECT * FROM DEV.ZAPOSLENICI"); rs.moveToInsertRow(); rs.updateString("IMEZAPOSLENIKA", ime); rs.updateString("PREZIMEZAPOSLENIKA", prezime); rs.updateString("TITULAZAPOSLENIKA", tit); rs.updateString("POLOZAJZAPOSLENIKA", polozaj); rs.updateString("ODJEL", odjel); rs.updateString("EMAILZAPOSLENIKA", email); rs.updateString("MJESTOZAPOSLENIKA", mjesto); rs.insertRow(); JOptionPane.showMessageDialog(null,"Zaposlenik je uspjeno uneen u bazu.", "Klik", JOptionPane.INFORMATION_MESSAGE); } catch (SQLException e) { e.printStackTrace();} closeConnection();}

Programski odsjeak 4.4. : Metoda za unos zaposlenika u bazu podataka

Slika 4.3. Forma za unos novog zaposlenika 15

4.5.

Organizacija dnevnog reda

Dnevni red je popis svih toaka koje su predviene za raspravu na poslovnom sastanku. Trebaju biti jasne, vrsto utvrene i vremenski ograniene. Za kvalitetno odrani sastanak potrebno ih je dostaviti svim uzvanicima kako bih se mogli pripremiti i na najbolji nain iskoristiti vrijeme. U automatsko generiranom zapisniku sa sastanaka izrada dnevnog reda je vrlo jednostavna. Zapisniar tijekom sastanka odabire temu trenutne stavke i njezinog voditelja. Nakon toga u natuknicama upisuje vane podatke koji su reeni. Opisana stavka pohranjuje se u tablicu iz koje e dalje procesirati i oblikovati za ispis zapisnika. Upis je dinamian, tako da je mogue imati neogranieni broj stavki, te ih je mogue mijenjati i brisati. Suelje je dizajnirano jednostavnom primjenom GridBagLayout-a i BorderLayout-a, a za odabir voditelja i tema stavki koriten je JComboBox. Popis voditelja moe biti bilo koja osoba zapisana u bazi podataka iz koje se izravno stvara padajui izbornik. To predstavlja problem jer je mogue odabrati osobu koja trenutno nije prisutna na sastanku, meutim radi se na ispravljanju takve pogreke.
public void popuniComboBox(JComboBox box) throws SQLException{ otvoriKonekciju(); stmt = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY); rs = stmt.executeQuery("SELECT * FROM DEV.ZAPOSLENICI"); String ime, prezime; String[] prisutni = new String[25]; int i = 0; while (rs.next()){ ime = rs.getString("IMEZAPOSLENIKA"); prezime = rs.getString("PREZIMEZAPOSLENIKA"); prisutni[i] = ime.concat(" " + prezime); box.addItem(prisutni[i]); i++; } closeConnection(); }

Programski odsjeak 4.5. : Metoda za dodavanje zaposlenika iz baze u ComboBox Metoda kao argument prima komponentu JComboBox-a te otvara vezu prema bazu. Zatim izvrava upit za odabir svih zaposlenika iz tablice Dev.Zaposlenici. U while petlji uzima imena i prezimena zaposlenika te ih pohranjuje u privremene varijable. Varijable se spajaju u jedan string i na kraju dodaju u JComboBox. Kada su svi zaposlenici dodani, zatvara se veza prema bazi.

16

4.6.

Organizacija zakljuka sastanka

Zakljuak sastanka bazira se na prijanjim stavkama navedenima u dnevnom redu. Za svaku stavku potrebno je iznijeti plan o poduzimanju daljnjih koraka koji e se primijeniti u svrhu poboljanja i unaprjeenja prijedloga o kojima se diskutiralo. Takoer potrebno je navesti i osobu koja je odgovorna za provoenje daljnjih koraka, te krajnji rok do kojeg moraju biti izvreni. Ako je sve uredno dogovoreno, sastanak se moe smatrati uspjenim. Unos zakljuka u aplikaciji je slian kao i unos dnevnog reda. Potrebno je popuniti sva polja koja se odnose na odreenu stavku iz dnevnog reda. Podaci se pohranjuju u bazu gdje su relacijski povezani sa stavkama pomou primarnog i stranog kljua. Od dodatnih mogunosti ponuena je izmjena i brisanje odreenih zakljuaka. Grafiko suelje prikazano je na slici, a sastoji se od spoja GridLayout i GridBagLayout okvira.

Slika 4.4. Forma za unos zakljuka sastanka

17

4.7.

Generiranje zapisnika

Generiranje zapisnika predstavlja zavrni produkt itavog procesa izrade zapisnika sa sastanaka. Uzimaju se svi podaci koje je zapisniar unio, preoblikuju se u prihvatljivu formu i ispisuju na ekran. Tako oblikovani podaci ine kvalitetan i profesionalan zapisnik koji je spreman za ispis ili slanje e-potom. Automatsko generirani zapisnik nudi mnotvo opcija s kojima je mogue promijeniti itavu datoteku. To su: promjena boje i veliine teksta, podebljanje i podcrtavanje, kopiranje i lijepljenje te ispis i pohranjivanje datoteke u Wordov ili PDF dokument. Naalost, dodatne opcije jo nisu implementirane u aplikaciju jer su predviene za zavrnu verziju zajedno s ostalim karakteristikama. Na slici je prikazan trenutno nepotpuni generirani zapisnik.

Slika 4.5. JTextPane s ispisom zapisnika

18

5. Zakljuak
Automatsko generirani zapisnik sa sastanaka u trenutnoj verziji ne nudi mnogo. Izraeno je grafiko suelje koje e se s vremenom jo modificirati, te baza podataka. Ova faza predstavlja tek 30% od sveukupne izrade programa. Za daljnji rad na projektu osmiljene su sljedee zadae: Implementacija brzih tipki (eng. Hot Keys) koje e omoguavati brz izbor opcija i tako utedjeti vrijeme. Automatizacija unosa podataka. Cilj je da aplikacija to vie informacija sama ispisuje i generira. Implementacija raznih mogunosti za izmjenu gotovog zapisnika. Mogunost pohrane i slanje zapisnika e-potom svim sudionicima. Ispravak manjih pogreaka i bugova.

Krajnji je cilj da aplikacija u potpunosti bude primjenjiva u stvarnome ivotu. To znai da je u mogunosti izraditi kvalitetan i toan zapisnik u to kraem vremenu i time pojednostaviti posao zapisniara.

19

6. Popis literature

1. Thinking in Java 4th Edition Bruce Eckel, 2006 2. Java Swing Robert Eckstein, O'Reilly, 1998 3. Database Programming with JDBC and Java 2nd Edition George Reese, O'Reilly, 2001 4. Java Database Programming Bible - John O'Donahue , John Wiley & Sons, 2002 5. http://www.utirus.netfirms.com/sastanak.htm 6. http://www.wisegeek.com/what-are-meeting-minutes.htm 7. http://careerplanning.about.com/cs/communication/a/minutes.htm 8. http://en.wikipedia.org/wiki/Minutes

20

Вам также может понравиться