Programmering

Java desktop utvikling med Qt Jambi

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-klasseJava-klasse (r)
QCharrøye og java.lang. karakter
QHashjava.util.HashMap
QListjava.util.Liste
QMapjava.util.SortedMap
QStringjava.lang.Streng
QTrådjava.lang.Tråd
QVectorjava.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.

$config[zx-auto] not found$config[zx-overlay] not found