KDE:n graafinen ulkoasu Java-sovelluksiin

The KDE Look and Feel Project on GPL-lisensoitu Swing -plugattava “look and feel” -palikka. Palikka toteuttaa useimmat Javan ulkonäkörajapinnan (API:n) elementit kuten dialogit (väri- ja tiedostovalinta) käyttäen Qt:ta ja KDE:ta niiden piirtämiseen. Kun Swingin pitää piirtää elementti, vastaava elementti piirretään QPixmappiin piilossa olevan KDE ohjelman kautta ja QPixmap muutetaan Javan BufferedImage -elementiksi. Lopuksi Java piirtää tämän kuvan elementin taustaksi. Sivuilla olevat ruudunkaappaukset näyttävät kyllä hienoilta, kun Java-sovellus istuu KDE:n käyttöliittymään sulavammin.

KDE-look-and-feel palikka on vielä alpha-asteella, mutta pitäisi ilmeisesti toimia vähintään kohtalaisesti. Sivuilta saatu i386 -binääri ei oikein 64bittisellä Javalla suostunut toimimaan, kuten oletinkin ja 32-bittisessä Debianissa Java tuntui muuten vaan olevan yhteistyökyvytön. Ihan kivalta Java-sovellukset kuitenkin KDE:n kanssa muutenkin näyttävät. Pitää vielä ajankuluksi yrittää kääntää palikka lähdekoodeista.

Myös toisenlainen Qt Java ja KDEJava (Koala) -kirjasto on saatavilla. Kirjasto käärii useimmat Qt ja KDE luokat, siten että niitä voidaan käyttää Java-ohjelmien kirjoittamiseen, jotka näyttävät ja käyttäytyvät kuten C++ versiot. Qt Javan ja KDEJavan käyttäminen on hieman heikosti dokumentoitu, mutta paketit ovat saatavilla suoraan Gentoon portagesta ja toimivatkin nopean testauksen (ScribbleWindow -mallisovellus) perusteella.

Päivitys:
Lähdekoodista käännettynä KDE-look-and-feel (kdelafworker) alkoi toimimaan, joskin tuntui kuormittavan CPU:tä enemmän kuin normi Java-sovellus. Toimivuudessakin oli hieman toivomisen varaa, sillä muutaman oman Java-projektin kanssa tuntui hävittävän nappeja ja jumitti sovellusta. Selkeää alpha-tasoa siis.

Aiheeseen liittyvät kirjoitukset

Artikkeli on julkaistu perjantaina 21. huhtikuuta 2006 kello 21.56. Kategoria(t): teknobula. Avainsanat(t): . Kirjoittaja: Marko. Lisää kestolinkki kirjanmerkkeihisi.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *