2009. november 23., hétfő

Igen, az eredmény kimaradt :)
A stílussal nem nagyon foglalkoztunk, mondhatnánk semmit :P

Xmlből generált HTML


Branni

2009. november 16., hétfő

Java->XML+XSL->HTML


A program új funkcióval bővült: az xml fájlunkból egy xsl segítségével generálunk egy html állományt, amely egy táblázatban reprezentálja nekünk az adatbázisunkat...
<- A printToFile.java metódus

Branni

2009. november 14., szombat

Hogy is volt ez....


Szóval GUI, azaz Graphical User Interface, a felület amin keresztül a felhasználó érintkezik a programmal, igazából vezérli azt.... Egyetemi tanulmányaink során még nem találkoztunk vele ( console rulez! ), de ha az ember kicsit jobban belemélyed egsézen szórakoztató tud lenni, főleg, ha tényleg kialakul egy felhasználói felület, amit már tényleg annak lehet nevezni :)
Mikor elkezdtük a progit, a GUI-t csak kóddal készítettem mondván úgyis meg kell tanulni, hogy mi történik a háttérben amikor egy progival összerakosgatom a komponenseket. Ez szép és jó, csak korántsem esztétikus még ezen a szinten. Próbálkoztam elrendezésekkel (GridLayout) de sehogy se tudtam úgy pozícionálni a komponenseket, hogy azok esztétikusak legyenek. Aztán jött az abszolut pozícionálás mellyel már pontosabban be lehetett illeszteni a komponenseket, de elég sok baj volt ezzel is.
Szóval a felület kész volt, saját kezüleg megírt kóddal, de mivel még eléggé az elején jártunk a Java programozásnak (megjegyzem most se vagyunk sokkal előrébb :P ), tele volt felesleges "szeméttel". Jött az elhatározás, hogy újraírom, egy másik project kapcsán ismerkedtem meg a NetBeans adta lehetőséggel, hogy ne kelljen a lekódolni a GUI megjelenését, hanem csak össze kelljen pakolgatni, szóval gondoltam ezt is átírom....
Tehát a felületeket komponensekkel lehet ellátni, a komponenseket lehet mozgatni, méretezni, ez eddig nem nagy kunc... Az eszköztárban jobboldalt a Properties tartalmazza a komponens tulajdonságait, pl: cimkéje, ikonja, mérete, etc... Ugyebár a komponenseket azért készítjük, hogy használhassuk őket, erre az Events kategória alatt találjuk meg a komponens különbféle eseményeit. Magát az eseménykezelő metódust a NetBeans legenerálja, nekünk csak bele kell írnunk hogy hogyan viselkedjen az adott esemény bekövetkezésekor.
A Code-nál állíthatjuk be a komponens azon tulajdonságait amely mint objektumra érvényesek, pl név, láthatósági módosító... Fontos, hogy a komponensek inicializálását az initComponents() metódus végzi, melyet szintén generálva kapunk ám közvetlenül a kódba a NB nem enged minket belenyúlni, de a grafikus felületen keresztül manipulálhatjuk azt...
Pár kép :
Kép1 Kép2 Kép3 Kép4 Kép5 Kép6
Nah egy időre kibeszéltem magam :) Remélem érdekes volt...

Branni

2009. november 12., csütörtök

A kereső...



A program egy kényes kérdése a kereső.

Több mezőbe várunk külömböző keresési feltételeket:

  • Magyar cím
  • Eredeti cím
  • Szereplő(k)
  • műfaj(ok)
  • dvd szám
  • feliratos-e a film.
A feladat egyszerű: egy equals felüldefiniálás a Movie osztályban, aztán egy foreach ami bejárja a filmlistát és egy új listát állít elő a feltételeknek megfelelő filmekkel feltöltve.
Igen ám, de a problémát az okozza ha nem emlékszünk egy szereplő teljes nevére, vagy kihagyunk egy szót a címből (Pl: "A bárányok hallgatnak"-ra rákeresfünk "Bárányok hallgatnak"-kal).
Erre azt a megoldást találtam hogy szavakra bontom a keresési feltételeket és minden szót minden szóval hasonlítok össze. Így valamivel felhasználóbarátabb kereső jött létre, ami valószínűleg lassabb is, pár napon belül egy nagyobb adatbázison is ki szeretném próbálni hogy elfogadható sebességgel dolgozik-e a kereső (erről be fogok számolni).
A végeredmény egy ~100 soros equals (a segédmetódusával együtt), és egy Searcher osztály amiben a searchInDatabase statikus metódus a megkapott filmlistából kiválogatja a megkapott Movie objektumnak (ami a keresett adatokat tartalmazza) megfelelő filmek listáját adja vissza.

A kódot mellékelem:

2009. november 10., kedd

XML Parser Class


Azt hiszem a program a használhatóság kezdeti szakaszát elérte, az alkalmazás az adatokat felolvassa a merevlemezről, lementi azokat, felvehetők új filmek, és a teljes adatbázisban keresgélhetünk mindenféle kulcsszóra.







A teljes kódot egyelőre nem találtuk érdemlegesnek a publikálásra, de néhány részletet ami érdekes lehet közzéteszünk.

Az xml fájlt feldolgozó osztály beolvasó metódusa tekinthető az alábbi képen, és letölthető formában is. A kód közel nem tökéletes, kivételkezelést még nem tartalmaz, de egy xml fájl (mellékelve) feldolgozását talán szemlélteti.

(Azért kép mert a kedves blogspotban nem találtam [code] funkciót aki tudja hogyan kell, jelezze légyszives.


xml fájl amit a kód képes feldolgozni

2009. november 9., hétfő

GUI Done!

Alakul a molekula :)
A program főbb funkciói már működnek, a grafikus felület is nagyjából összeállt, még lesznek finomítások, mind kód, mind kinézet terén. A megjelenést a Java LookAndFeel eszközének köszönhetően, teszteltük három különböző oprendszeren: jelentem szépen működik :)
Hamarosan kijön az első tesztverzió és kódokat is publikálunk majd

Branni



2009. október 7., szerda

A project....

Az alkalmazás kulcsszavakban:
Java, Swing, XML-JDOM
És most néhány szóban:
A Java egyértelmű, a GUI-ért (Graphical User Interface) a swing lesz felelős, az "adatbázishoz" pedig a jól megszokott XML nyelvezetét hívtuk segítségül, amit a Xerxes XML értelmezőt fogjuk felhasználni.
A kezdő megoldások valószínűleg a teljes programot át fogják hatni, ezért elnézést kérünk, hisz mi is most tanuljuk ezt az OO szemléletet, és a Java nyelv lehetőségeit.
Mindezek tudatában:
Az alkalmazásban képesek leszünk új dvd-k létrehozására, amikre filmeket írhatunk. Ezt a program hierarchikusan tárolja és XML-be menti. A dvd-knek számaik vannak, amelyek azonosításra szolgálnak. A film elemeknek megadhatjuk az alábbi tulajdonságokat:
  • Melyik dvd lemezen van
  • Magyar cím
  • Eredeti (angol) cím
  • Műfaj(ok)
  • Főszereplő(k)
  • Szinkronos/feliratos-e
Ez az alap koncepció, amit egy keresővel túrkálhatunk keresztbe-kosba. Megtudhatjuk egy filmről hogy hanyas lemezen találjuk, egy előadó filmjeit, egy adott műfaj alkotásait stb....
A program indításakor a xerxes feldolgozza a megadott felhasználóhoz tartozó xml fájlt és már magunk előtt láthatjuk a teljes film-felhozatalt.

Szándékunkban áll a program több verziójának publikálása, amely nyomtatási nézet (Excel táblázatos) generálására is alkalmas, továbbá Internetes adatbázis (Oracle) elérését támogató, bárhonnan elérhető rendszer létrehozása.
Ezek a célok, majd meglátjuk mire futja :)

További jó böngészést...

A kezdetek.....

PTI, Debrecen, 2009, 3. szemeszter.....
Sziasztok
Eltelt egy év az egyetemi tanulmányainkból, és gondoltuk itt az ideje írni valami használható alkalmazást, a sok konzolos program után. A project elkezdését főként a gyakorlás ösztönözte, ami minden kezdő programozóra ráfér, így ránk is.
2 hete jött az ötlet, írjunk Java alkalmazást, amivel könnyedén nyilvántarthatjuk dvd-n tárolt filmjeinket.
Miért is írjuk mi ezt ide, egy blogba?
Mert szeretnénk - az Open Source nézeteknek hódolva - itt közzé tenni a fejlesztés lépéseit, a forráskódokat és az alkalmazás próba, illetve végleges verzióit. Segítve ezzel társaink fejlődését, és persze a sajátunkat.
Köszönjük hogy minket olvastok :)
Béke!