Razvoj Java radne površine s Qt Jambijem

Qt Jambi nova je značajna alternativa Swingu i Javi 2D za razvoj bogatih sučelja za radne površine za više platformi. U ovom članku suradnik JavaWorlda Jeff Hanson predstavlja nedavno objavljeni Qt Jambi, objašnjava kako to funkcionira ispod haube i predstavlja primjere programiranja koji će vas upoznati s API-jem povuci-i-spusti (Frame and Drag-and-drop) i integriranim razvojnim alatima.

Qt Jambi, objavljen početkom lipnja 2007., razvojni je okvir koji integrira programski jezik Java s popularnim Trolltechovim C ++ GUI razvojnim okvirom, Qt. Objavljen pod dvostrukom otvorenom / komercijalnom licencom, Qt Jambi omogućuje programerima Jave koji koriste Java Standard Edition 5.0 (JSE 5.0) i kasnije da iskoriste značajke Qt okvira. Uz industrijski testiranu podršku za više platformi, Qt Jambi pruža podršku za osnove razvoja grafičkog sučelja kao što su 2D i 3D grafika, razmjena poruka događaja povlačenja i ispuštanja, internacionalizacija, pristup SQL bazi podataka, XML i TCP / IP mrežni protokoli. Dodatak Qt Jambi Eclipse također vam daje mogućnost pristupa značajkama Qt Jambi pomoću Eclipsea.

Preuzmite Qt Jambi
Qt Jambi nudi se pod dvostrukom otvorenom / komercijalnom licencom. Možete preuzeti bilo koju verziju s početne stranice Trolltecha. Verzija otvorenog koda pruža se pod GNU General Public License i dolazi bez podrške ili jamstva. Za upotrebu komercijalne verzije Qt Jambija potrebni su komercijalni projekti.

Qt Jambi nadovezuje se na Qt-ovu višeplatformnu C ++ GUI osnovu kako bi olakšao zadatak razvijanja izvornih korisničkih sučelja za izgled i izgled za većinu stolnih platformi pomoću Java koda. Kao takav, zanimljiva je alternativa Swingu i Javi 2D za razvoj Java radne površine. U ovom praktičnom uvodu u Qt Jambi naučit ćete o razvojnom API-ju Qt Jambija i integriranim razvojnim alatima. Upoznat ćete se s grafičkim sučeljem temeljenim na widgetu Qt Jambija i naučiti kako stvoriti projekt pomoću Qt Designera. Također ćete usporediti mehanizam za upravljanje događajima signala i utora Qt Jambija s okvirom za preslušavanje događaja Java, prvi pogled na sustav grafičkog prikaza Qt Jambija i sami se uvjeriti kako se integrira s Eclipseom putem dodatka Qt Jambi Eclipse.

Preuzmite Qt Jambi odmah ako želite slijediti primjere.

Pregled Qt Jambija

Qt Jambi je okvir zasnovan na Javi koji integrira Trolltech-ov višeplatformni C ++ okvir za razvoj GUI-ja s programskim jezikom Java. Sljedeće su značajke dostupne pri razvoju Java desktop aplikacija s Qt Jambi:

  • Izvrsna podrška za više platformi za 2D i 3D grafiku
  • Jedinstveni mehanizam za komunikaciju međupredmetnih događaja
  • Internacionalizacija
  • Pristup SQL bazi podataka
  • Podrška za XML
  • Podrška za TCP / IP mrežne protokole

Qt Jambi možete koristiti s većinom JVM-ova (Java virtualnih strojeva) nakon Java Standard Edition (JSE) 5.0 i Java Enterprise Edition (JEE) 5.0. Čvrsta integracija OS-a Qt Jambi omogućuje vam stvaranje Java desktop aplikacija koje oponašaju izgled i dojam matičnog OS-a.

Qt ispunjava programski jezik Java

Qt Jambi API pruža tanak sloj Java koda koji komunicira s Trolltechovim izvorno kompajliranim C ++ knjižnicama. Ovaj se sloj Java koda izvodi u bilo kojem Java Runtime Environment (JRE) i koristi okvir Java Native Interface (JNI) za komunikaciju s matičnim knjižnicama C ++.

U osnovi, Qt Jambi postavlja sloj apstrakcije Java preko Qt-ovih C ++ knjižnica. Kako bi se pozabavio sličnošću i preklapanjem Qt-ovih C ++ klasa i Java osnovnih klasa, Qt Jambi preslikava preklapajuće C ++ klase u odgovarajuće Java klase. Kao rezultat toga, možete koristiti standardne Java konstrukcije i operatore s Qt izvornim apstrakcijama. Također možete pomiješati Qt Jambi API-je s Java-API-ima koji nisu Qt.

Tablica 1 prikazuje Qt klase koje su preslikane u ekvivalentne Java osnovne klase.

Tablica 1. Qt klase preslikane u ekvivalentne Java klase

Qt klasa Java klase
QChar char i java.jezik.Lik
QHash java.util.HashMap
QList java.util.Popis
QMap java.util.SortedMap
QString java.lang.String
QThread java.lang.Nit
QVector java.util.Popis

Qt C ++ API ovisi o apstraktnom tipu vrijednosti QVariantza inkapsulaciju mnogih tipova vrijednosti Qt. Budući da jezik Java već nudi zajednički apstraktni tip za sve klase (zajednička Objectosnovna klasa), Qt Jambi API oslanja se na Objectklasu gdje god se Qt C ++ oslanja QVariant. Qt Jambi preslikava C ++ enume u Java enume kako bi se nametnula sigurnost tipa za Qt-Java enume i bit zastavice.

Qt Jambi uključuje GUI okvir zasnovan na widgetima koji koristi prednosti proširenja specifičnih za platformu kao što su ActiveX, OpenGL i ClearType. Ovaj okvir pruža izvorne mogućnosti izgleda i izgleda za teme Windows, Mac OS X i Linux.

Widgeti u Qt Jambi slijede sintaksu tabele stilova sličnu HTML kaskadnim tablicama stilova (CSS), tako da možete izvoditi manje ili raširene prilagodbe podešavanjem CSS stilskih oznaka i svojstava. Također možete podrazrediti Qt widgete za još veću prilagodbu i kontrolu izgleda.

Qt Jambijev GUI okvir uključuje klase upravljanja rasporedom koje su predstavljene u alatu Qt Designer za pojednostavljivanje izgleda prilikom izrade komponenata i aplikacija radne površine. Slika 1 prikazuje prozor Layouts u alatu Qt Designer.

Qt Jambi-jev GUI okvir pruža API-je za izgradnju aplikacija s komponentama koje se mogu spojiti. Između ostalog, ovu značajku možete koristiti za izradu aplikacija na radnoj površini s izvornim alatnim trakama za priključivanje izgleda i izgleda.