Qt Jambi er et nytt og bemerkelsesverdig alternativ til Swing og Java 2D for å utvikle rike, plattform-applikasjonsgrensesnitt på tvers av plattformer. I denne artikkelen JavaWorld bidragsyter Jeff Hanson introduserer nylig utgitte Qt Jambi, forklarer hvordan det fungerer under panseret, og presenterer programmeringseksempler som vil gjøre deg kjent med rammeverkets dra-og-slipp-API og integrerte utviklingsverktøy.
Qt Jambi, utgitt i begynnelsen av juni 2007, er et utviklingsrammeverk som integrerer Java-programmeringsspråket med Trolltechs populære C ++ GUI-utviklingsrammer, Qt. Utgitt under en dobbel åpen kildekode / kommersiell lisens, gjør Qt Jambi Java-utviklere som bruker Java Standard Edition 5.0 (JSE 5.0) og senere, til å utnytte funksjonene i Qt-rammeverket. I tillegg til bransjetestet støtte på tvers av plattformer, gir Qt Jambi støtte for grunnleggende GUI-utvikling, som 2D- og 3D-grafikk, dra-og-slipp-meldinger om interobjekthendelser, internasjonalisering, SQL-databasetilgang, XML- og TCP / IP-nettverksprotokoller. En Qt Jambi Eclipse plug-in gir deg også muligheten til å få tilgang til funksjonene til Qt Jambi ved hjelp av Eclipse.
Last ned Qt Jambi |
---|
Qt Jambi tilbys under en dobbel åpen kildekode / kommersiell lisens. Du kan laste ned hvilken som helst versjon fra Trolltech-hjemmesiden. Åpen kildekodeversjonen er gitt under GNU General Public License og kommer uten støtte eller garanti. Kommersielle prosjekter kreves for å bruke den kommersielle versjonen av Qt Jambi. |
Qt Jambi bygger på Qts C ++ GUI-plattform på tvers av plattformer for å lette oppgaven med å utvikle native look-and-feel-brukergrensesnitt for de fleste stasjonære plattformer som bruker Java-kode. Som sådan er det et interessant alternativ til Swing og Java 2D for Java desktop-utvikling. I denne praktiske introduksjonen til Qt Jambi vil du lære om Qt Jambis utviklings-API og integrerte utviklingsverktøy. Du vil bli introdusert for Qt Jambis widgetbaserte GUI-rammeverk og lære å lage et prosjekt ved hjelp av Qt Designer. Du vil også sammenligne Qt Jambis signal-og-slots hendelseshåndteringsmekanisme med Java event listener-rammeverket, få en første titt på Qt Jambis grafiske gjengivelsessystem, og se selv hvordan det integreres med Eclipse via Qt Jambi Eclipse plug-in.
Last ned Qt Jambi nå hvis du vil følge med eksemplene.
Oversikt over Qt Jambi
Qt Jambi er et Java-basert rammeverk som integrerer Trolltechs plattform C ++ rammeverk for GUI-utvikling med Java-programmeringsspråket. Følgende funksjoner er tilgjengelige når du utvikler Java-skrivebordsprogrammer med Qt Jambi:
- Utmerket plattformstøtte for 2D- og 3D-grafikk
- En unik kommunikasjonsmekanisme for interobject hendelser
- Internasjonalisering
- SQL-databasetilgang
- Støtte for XML
- Støtte for TCP / IP-nettverksprotokoller
Du kan bruke Qt Jambi med de fleste JVM-er (virtuelle Java-maskiner) etter Java Standard Edition (JSE) 5.0 og Java Enterprise Edition (JEE) 5.0. Qt Jambis tette OS-integrasjon lar deg produsere Java-skrivebordsprogrammer som etterligner det opprinnelige OS-utseendet.
Qt oppfyller Java-programmeringsspråket
Qt Jambi API gir et tynt lag med Java-kode som samhandler med Trolltechs opprinnelig kompilerte C ++ - biblioteker. Dette laget av Java-kode kjører i alle Java Runtime Environment (JRE) og bruker JNI-rammen (Java Native Interface) til å kommunisere med de innfødte C ++ - bibliotekene.
I hovedsak plasserer Qt Jambi et Java-abstraksjonslag over Qts C ++ - biblioteker. For å adressere likheten og overlappingen mellom Qt's C ++ - klasser og Java's kjerneklasser, tilordner Qt Jambi de overlappende C ++ - klassene til tilsvarende Java-klasser. Som et resultat kan du bruke standard Java-konstruksjoner og operatører med Qts opprinnelige abstraksjoner. Du kan også blande Qt Jambi APIer med Java APIer som ikke er Qt.
Tabell 1 viser Qt-klassene som er kartlagt til tilsvarende Java-kjerneklasser.
Tabell 1. Qt-klasser kartlagt til tilsvarende Java-klasser
Qt-klasse | Java-klasse (r) |
---|---|
QChar | røye og java.lang. karakter |
QHash | java.util.HashMap |
QList | java.util.Liste |
QMap | java.util.SortedMap |
QString | java.lang.Streng |
QTråd | java.lang.Tråd |
QVector | java.util.Liste |
Qt C ++ API avhenger av en abstrakt verditype QVariant
for å kapsle inn mange Qt-verdityper. Fordi Java-språket allerede gir en vanlig abstrakt type for alle klasser (den vanlige Gjenstand
baseklasse), er Qt Jambi API avhengig av Gjenstand
klasse hvor Qt C ++ er avhengig av QVariant
. Qt Jambi kartlegger C ++ enums til Java enums for å håndheve typesikkerhet for Qt-Java enums og bitflagg.
Qt Jambi inkluderer et widgetbasert GUI-rammeverk som utnytter plattformsspesifikke utvidelser som ActiveX, OpenGL og ClearType. Dette rammeverket gir innfødte utseendemuligheter for Windows-, Mac OS X- og Linux-temaer.
Widgets i Qt Jambi følger en stilarksyntaks som ligner HTML Cascading Style Sheets (CSS), slik at du kan utføre mindre eller utbredte tilpasninger ved å tilpasse koder og egenskaper for CSS-stil. Du kan også underklasse Qts widgets for enda mer utseende og kontroll.
Qt Jambis GUI-rammeverk inkluderer layoutadministrasjonsklasser som presenteres i Qt Designer-verktøyet for å forenkle layout når du bygger stasjonære komponenter og applikasjoner. Figur 1 viser vinduet Layouts i Qt Designer-verktøyet.
Qt Jambis GUI-rammeverk gir APIer for å bygge applikasjoner med forankringsbare komponenter. Du kan blant annet bruke denne funksjonen til å lage skrivebordsprogrammer med innebygde docking-verktøylinjer.