Qt Jambi er et nyt og bemærkelsesværdigt alternativ til Swing og Java 2D til udvikling af rige, platforme-applikationsgrænseflader på tværs af platforme. I denne artikel JavaWorld bidragyder Jeff Hanson introducerer den nyligt udgivne Qt Jambi, forklarer, hvordan den fungerer under emhætten, og præsenterer programmeringseksempler, der gør dig fortrolig med rammens træk-og-slip-API og integrerede udviklingsværktøjer.
Qt Jambi, udgivet i begyndelsen af juni 2007, er en udviklingsramme, der integrerer Java-programmeringssproget med Trolltechs populære C ++ GUI-udviklingsramme, Qt. Udgivet under en dobbelt open source / kommerciel licens, giver Qt Jambi Java-udviklere, der bruger Java Standard Edition 5.0 (JSE 5.0) og senere, mulighed for at udnytte funktionerne i Qt-rammen. Sammen med branchetestet support på tværs af platforme yder Qt Jambi support til GUI-udviklingsbasics såsom 2D- og 3D-grafik, træk-og-slip-interobject-hændelsesmeddelelser, internationalisering, SQL-databaseadgang, XML- og TCP / IP-netværksprotokoller. Et Qt Jambi Eclipse-plug-in giver dig også mulighed for at få adgang til funktionerne i Qt Jambi ved hjælp af Eclipse.
Download Qt Jambi |
---|
Qt Jambi tilbydes under en dobbelt open source / kommerciel licens. Du kan downloade begge versioner fra Trolltech-hjemmesiden. Open source-versionen leveres under GNU General Public License og leveres uden support eller garanti. Kommercielle projekter kræves for at bruge den kommercielle version af Qt Jambi. |
Qt Jambi bygger på Qt's C ++ GUI-platform på tværs af platforme for at lette opgaven med at udvikle native look-and-feel-brugergrænseflader til de fleste desktop-platforme, der bruger Java-kode. Som sådan er det et interessant alternativ til Swing og Java 2D til Java-desktopudvikling. I denne praktiske introduktion til Qt Jambi lærer du om Qt Jambis udviklings-API og integrerede udviklingsværktøjer. Du vil blive introduceret til Qt Jambis widget-baserede GUI-ramme og lære at oprette et projekt ved hjælp af Qt Designer. Du vil også sammenligne Qt Jambis signal-og-slots begivenhedshåndteringsmekanisme med Java event listener-rammen, få et første kig på Qt Jambis grafikgengivelsessystem og se selv, hvordan det integreres med Eclipse via Qt Jambi Eclipse-plug-in.
Download Qt Jambi nu, hvis du gerne vil følge eksemplerne.
Oversigt over Qt Jambi
Qt Jambi er en Java-baseret ramme, der integrerer Trolltechs cross-platform C ++ -ramme til GUI-udvikling med Java-programmeringssproget. Følgende funktioner er tilgængelige, når du udvikler Java-desktopapplikationer med Qt Jambi:
- Fremragende support på tværs af platforme til 2D- og 3D-grafik
- En unik kommunikationsmekanisme for interobjektbegivenheder
- Internationalisering
- SQL-databaseadgang
- Understøttelse af XML
- Understøttelse af TCP / IP-netværksprotokoller
Du kan bruge Qt Jambi med de fleste JVM'er (Java virtuelle maskiner) efter Java Standard Edition (JSE) 5.0 og Java Enterprise Edition (JEE) 5.0. Qt Jambis stramme OS-integration giver dig mulighed for at producere Java-desktopapplikationer, der efterligner det oprindelige OS-udseende.
Qt opfylder Java-programmeringssproget
Qt Jambi API giver et tyndt lag af Java-kode, der interagerer med Trolltechs indbyggede C ++ - biblioteker. Dette lag af Java-kode kører i ethvert Java Runtime-miljø (JRE) og bruger JNI-rammen (Java Native Interface) til at kommunikere med de indfødte C ++ - biblioteker.
I det væsentlige placerer Qt Jambi et Java-abstraktionslag over Qts C ++ - biblioteker. For at imødegå ligheden og overlapningen mellem Qt's C ++ - klasser og Java's kerneklasser, kortlægger Qt Jambi de overlappende C ++ - klasser til tilsvarende Java-klasser. Som et resultat kan du bruge standard Java-konstruktioner og operatorer med Qts oprindelige abstraktioner. Du kan også blande Qt Jambi API'er med ikke-Qt Java API'er.
Tabel 1 viser de Qt-klasser, der er kortlagt til tilsvarende Java-kerneklasser.
Tabel 1. Qt-klasser kortlagt til tilsvarende Java-klasser
Qt klasse | Java klasse (r) |
---|---|
QChar | char og java.lang.Character |
QHash | java.util.HashMap |
QList | java.util.Liste |
QMap | java.util.SortedMap |
QString | java.lang.Streng |
QThread | java.lang.Tråd |
QVector | java.util.Liste |
Qt C ++ API afhænger af en abstrakt værditype QVariant
at indkapsle mange Qt-værdityper. Fordi Java-sproget allerede giver en almindelig abstrakt type for alle klasser (den fælles Objekt
baseklasse), bygger Qt Jambi API på Objekt
klasse, hvor Qt C ++ er afhængig af QVariant
. Qt Jambi kortlægger C ++ enums til Java enums for at håndhæve typesikkerhed for Qt-Java enums og bitflag.
Qt Jambi inkluderer en widgetbaseret GUI-ramme, der udnytter platformsspecifikke udvidelser som ActiveX, OpenGL og ClearType. Denne ramme giver indfødte udseendemuligheder til Windows-, Mac OS X- og Linux-temaer.
Widgets i Qt Jambi følger en syntaks i stilark svarende til HTML Cascading Style Sheets (CSS), så du kan udføre mindre eller udbredte tilpasninger ved at tilpasse CSS-stil tags og egenskaber. Du kan også underklasse Qts widgets for endnu mere look-and-feel tilpasning og kontrol.
Qt Jambis GUI-ramme inkluderer layoutadministrationsklasser, der præsenteres i Qt Designer-værktøjet for at forenkle layoutet, når du bygger desktop-komponenter og applikationer. Figur 1 viser layoutvinduet i Qt Designer-værktøjet.
Qt Jambis GUI-ramme giver API'er til opbygning af applikationer med dockbare komponenter. Blandt andet kan du bruge denne funktion til at oprette desktop-applikationer med native look-and-feel docking-værktøjslinjer.