2011. november 14., hétfő

Windows skin Swing-ben

Ismét találtam egy hasznosságot a Java SE-t kedvelőknek!

Biztos mindenkinek feltűnt már, hogy a Swing-el készítették GUI elemek hogyismondjam... rondák. :D Vagyis nem a Windows-ban megszokott design-t látjuk, hanem egy Swing-eset.

Ma rátaláltam, hogyan lehet beállítani, hogy a Windows-os skint használja a Swing. Meglepően egyszerű, csak egyetlen metódushívás, de azért erre mégsem jöttem volna rá magamtól.

Én azt javaslom, hogy a Main osztályba, mindenféle Swing-es objektum létrehozása elé írjuk be:

javax.swing.UIManager.setLookAndFeel(
                "com.sun.java.swing.plaf.windows.WindowsLookAndFeel");

Innentől már szép Windows-osok lesznek a menük, a gombok, a dialogok, stb. :)

2011. október 23., vasárnap

Evanescence 2011

Az első szám nem jött be. A Made Of Stone és a Change ütős és dallamos lett. A My Heart Is Broken a lírai címtől várhatóan lágyan indul, de idővel gyorsul a ritmus és belép a gitár, itt is megfigyelhetőek szép ívek Amy énekében. A következő számban is megfigyelhető a zúzás, pici metál jelleg is megfigyelhető. Úgy néz ki, ezen az albumon ismét hangsúlyt kapnak a hathúrosok, aminek örülök (az Open Door albumon nekem sok volt a szinti), illetve az ének dallamosságára is nagyon koncentráltak. A Lost In Paradise úgy tűnik, picit lelassítja a tempót, lágyabb dalként indul, de ahogy titkon várja is az ember, itt is belép a banda. Az előbb említett jelleg továbbra is folytatódik a Sick-ben, amit egy különlegesebb gitáreffekttel indítanak. Az End Of The Dream tetszett, eltalálták nagyon. Az Oceans befejezése igen meglepő és különleges lett. Utána folytatódik a keménykedés, a Never Go Back vége is tetszik, szépen lelassul a ritmus, és kicseng az utolsó röfögős akkord... ezt így kell! Megmondom őszintén a következő számot átléptem, unalmas, vagy legalábbis nem illik ide. A bonus track-ek is ütősek lettek.

Összegzés: úgy hallom, a zúzás és a dallamos ének volt a banda koncentrációjának origójában, aminek örülök, jó kis album született. Szövegileg még nem figyeltem a számokat, ez lesz a következő, persze csak a kiemelkedőbb daloknál.

2011. június 12., vasárnap

Java ME Win7 64-biten


Az új 64-bites gépemre gondoltam feltolom szépen a 64-bites JDK-t, ráküldöm a NetBeans-t és minden sima lesz, eszembe nem jutott, hogy gond adódhat. A Java ME SDK (amit a NetBeans-hez csomagolnak) viszont nem működik 64-bites Windows 7-en - egyszerűen nem fordulnak a mobil alkalmazások, a build.xml-ben jelez hibát az IDE.

Megoldás (gugli segített):
  1. Uninstall NetBeans
  2. Delete "Users\XY\javame-sdk\"
  3. Uninstall 64-bites JDK
  4. Install 32-bites JDK
  5. Install Java ME SDK (link)
  6. Install NetBeans

2011. június 5., vasárnap

Asus laptop

A minap beújítottam egy ASUS K72JT notebook-ot. Konfig: 17.3"-os kijelző, Intel Core i3 380M proci (2.53 GHz, 2 mag + HyperThreading!), 4 GB RAM, 500 GB HDD, DVD író, ATi grafikus vezérlő (1GB), WiFi, és speckó ASUS nyalánkságok.


Azért döntöttem e készülék mellett, mert hosszú távra tervezek: a nagy kijelző jó mozizáshoz és fejlesztéshez egyaránt, a proci pedig meg is hajtja mindezt. Az ósdi asztali PC-met cserélem erre a gyönyörűségre - a mobilitás és kompaktság is fő szempont és döntő érv volt a notebook mellett.

FreeDos-szal adták (nem is baj, az egyetemi hallgatóknak jár Windows ingyen, jogtisztán - kis motiváció :D), ami nem zavarna, de van egy kis szívatás a dologban. Az 500 GB-os winyóból a gyártók elcsennek egy izmos 140 GB-ot egy "rejtett" rendszerpartícióra... amin ráadásul csak a 112 MB-os FreeDos csücsül. Az Ablakok pedig se törölni, se átméretezni nem tudja. (A gari miatt meg nem is formázhatom...) És hogy-hogy-nem csak 325 GB-om marad rendszertelepítésre, berendezkedésre és munkálkodásra.

Ami picit fura, hogy a papíros kézikönyvben gyakorlatilag semmi nincs. (Így némi időbe telt mire ki*ptam a kisujjamból, hogy az ESC gombbal érem el a boot-menüt a POST-screen alatt. :D) Ugyanakkor a mellékelt DVD-n már egy szép részleteset találunk.

No de ennyit a hátrány(ok)ról, nincs is több. Lássuk mivel engesztelik ki a vevőt! :)

Multifunkciós touchpad: több ujjat is érzékel, lehet vele görgetni, két/három ujjal klikkelni. Gyönyörű OSD kijelzés és menü (!!): leírhatatlan élmény volt, amikor először megláttam, a megjelenő ikon áttűnő fehér glow-ba van csomagolva. Kijelző színsémák: 4-5 séma, igazából többségük nekem nem tetszik, túl kontrasztosak néhol, de valaki biztos hasznosnak találja. Energiafelhasználási fokozatok: 4 beállítás, a maximális teljesítménytől a lebutított aksispóroló üzemmódig. Kamera beléptető rendszer: arcfelismeréssel tud beléptetni a Windowsba a webkamera (VGA felbontású) segítségével - hatalmas! :D Testreszabható POST-screen: saját képet/hangot rakhatunk be az ASUS logó helyére, így akár például szerelmünk kacsinthat ránk, ha beizzítjuk a vasat. :D
Emellett a másik DVD-n (az egyiken a driverek/utility-k vannak) Cyberlink szoftverek vannak (nyilván OEM butított verziók): DVD lejátszó, videóvágó, stb.

A Windows 7 osztályzásán egy kerek 5-öst kapott. A rendszer fél óra alatt bútorozott be, az Office (csak Word és Excel, a kiegészítőkkel együtt) 3 perc alatt röppent fel, és a gép simán lejátssza az 1080p-s videókat.

Brutálisan nagy a kijelzője, és szép képet ad. Jó a hangminőség, van is valami szoftver, amivel javítja. Kényelmes a billentyűzet, bár a delete, insert, home, stb. még szokatlan helyen van.

A csomagban adtak hozzá táskát, egeret, tépőzáras kábelkötözőt is.

Update (2012.05.31.): ami még negatívum, hogy a hangbemenete használhatatlan. Legalábbis arra, amire én használnám: hangrögzítésre. Iszonyatosan zajos, a szoftveres zajszűrő pedig borzalmas (a gitár hangjából kiveszik a gitár jelleg). Cseteléshez jó, másra nem.

Update (2012.06.12.): a hangbemenete mégiscsak jó, ma kikísérleteztem. Csak ki kell kapcsolni a zajszűrést és az erősítést! Némi alapzaj így is van (bár ez lehet, hogy a gitárerősítőm műve), de nem rondít bele a felvételbe.

2011. május 5., csütörtök

LZW String tömörítés

Ma lyukasórában (elkészítetlen házifeladat és beadandó híján :D) sikerült implementálnom az LZW tömörítő algoritmust, kedvenc nyelvemen: Java-ban. Egyelőre a cél az volt, hogy működjön String-ekre (és ugyanazt az eredményt adja, mint az Algoritmusok és adatszerkezetek füzetemben :D), a következő lépcső az lesz, hogy fájltömörítővé fejlesztem - ami már picit bonyolultabb lesz, hiszen ott már bitekre is kell boncolgatni a dolgokat.

2011. április 24., vasárnap

char* -> const WCHAR*

Megosztom veletek azt a kis nehézséget, amin már szinte a hajamat téptem, de másfél-két óra guglizással végül nagy nehezen sikerült megtalálnom a megoldást.

Visual Studio 2010, C++, DirectX 3D-ben kell egy menürendszert írnom, ami a menüpontok textúráinak fájlneveit egy szöveges állományból olvassa be.

A textúrabetöltésért felelős függvény, a D3DXCreateTextureFromFile() a második paraméterbe várja a fájlnevet, de LPWCSTR, azaz const WCHAR* típussal. A fájlból viszont én persze char*-ba olvasok be, és a konverzió nem igazán működött. Próbálkoztam cast-olással, de kivételt dobott a program.

A megoldás: ATL conversion macros.

  1. #include <atlbase.h>
  2. a függvénytörzs (amin belül használni akarom a makrókat) első sorába: USES_CONVERSION;
  3. és a sok makró közül az A2CW() volt a megfelelő nekem. (A=ansi, C=const, W=unicode)

Nagy öröm, amikor fél napnyi izzadás után sikerül rátalálni a megoldásra! Túl vagyok a nehezén, innentől már nincs sok és kész leszek. :-)