Programování

Vývoj desktopů Java s Qt Jambi

Qt Jambi je nová a pozoruhodná alternativa k Swing a Java 2D pro vývoj bohatých rozhraní mezi aplikacemi pro různé platformy. V tomto článku JavaWorld přispěvatel Jeff Hanson představuje nedávno vydané Qt Jambi, vysvětluje, jak to funguje pod kapotou, a uvádí příklady programování, které vás seznámí s API a integrovanými vývojovými nástroji rámce.

Qt Jambi, vydané na začátku června 2007, je vývojový rámec, který integruje programovací jazyk Java s populárním vývojovým rámcem C ++ GUI Trolltech, Qt. Společnost Qt Jambi, která byla vydána na základě duální licence typu open-source / komerční, umožňuje vývojářům prostředí Java používat prostředí Java Standard Edition 5.0 (JSE 5.0) a později využívat funkce Qt framework. Spolu s průmyslově testovanou podporou pro různé platformy poskytuje Qt Jambi podporu pro základy vývoje grafického uživatelského rozhraní, jako je 2D a 3D grafika, zasílání zpráv mezi objekty mezi objekty a přetažení, internacionalizace, přístup k databázi SQL, síťové protokoly XML a TCP / IP. Zásuvný modul Qt Jambi Eclipse vám také nabízí možnost přístupu k funkcím Qt Jambi pomocí Eclipse.

Stáhněte si Qt Jambi
Qt Jambi je nabízen na základě dvojí open source / komerční licence. Obě verze si můžete stáhnout z domovské stránky Trolltech. Verze s otevřeným zdrojovým kódem je poskytována pod GNU General Public License a je dodávána bez podpory nebo záruky. Komerční projekty musí používat komerční verzi Qt Jambi.

Qt Jambi staví na Qt cross-platformovém C ++ GUI základu, aby usnadnil úkol vývoje nativních vzhledových a uživatelských rozhraní pro většinu desktopových platforem pomocí Java kódu. Jako takový je zajímavou alternativou k Swing a Java 2D pro vývoj desktopů Java. V tomto praktickém úvodu do Qt Jambi se dozvíte o vývojovém API Qt Jambi a integrovaných vývojových nástrojích. Budete seznámeni s rámcem GUI založeným na widgetech Qt Jambi a naučíte se, jak vytvořit projekt pomocí Qt Designer. Rovněž porovnáte mechanismus zpracování událostí signálů a slotů Qt Jambi s rámcem posluchače událostí Java, nejprve se podíváte na systém vykreslování grafiky Qt Jambi a sami uvidíte, jak se integruje s Eclipse prostřednictvím zásuvného modulu Qt Jambi Eclipse.

Stáhněte si Qt Jambi nyní, pokud byste chtěli následovat spolu s příklady.

Přehled Qt Jambi

Qt Jambi je platforma založená na prostředí Java, která integruje multiplatformní rámec C ++ společnosti Trolltech pro vývoj grafického uživatelského rozhraní s programovacím jazykem Java. Při vývoji desktopových aplikací Java s Qt Jambi jsou k dispozici následující funkce:

  • Vynikající podpora více platforem pro 2D a 3D grafiku
  • Unikátní mechanismus komunikace mezi objekty
  • Internacionalizace
  • Přístup k databázi SQL
  • Podpora XML
  • Podpora síťových protokolů TCP / IP

Qt Jambi můžete použít s většinou JVM (Java virtual machines) po vydání Java Standard Edition (JSE) 5.0 a Java Enterprise Edition (JEE) 5.0. Těsná integrace OS Qt Jambi vám umožňuje vytvářet desktopové aplikace Java, které napodobují vzhled a chování nativního OS.

Qt splňuje programovací jazyk Java

Qt Jambi API poskytuje tenkou vrstvu kódu Java, která interaguje s nativně kompilovanými knihovnami C ++ společnosti Trolltech. Tato vrstva kódu Java běží v jakémkoli prostředí Java Runtime Environment (JRE) a ke komunikaci s nativními knihovnami C ++ používá rámec Java Native Interface (JNI).

Qt Jambi v podstatě umístí vrstvu Java abstrakce nad knihovny Qt C ++. Aby se řešila podobnost a překrývání mezi Qt třídami C ++ a základními třídami Javy, Qt Jambi mapuje překrývající se třídy C ++ na odpovídající třídy Java. Ve výsledku můžete použít standardní konstrukce a operátory Java s nativními abstrakcemi Qt. Můžete také míchat API Qt Jambi s API Java jiných než Qt.

Tabulka 1 ukazuje třídy Qt, které jsou mapovány na ekvivalentní základní třídy Java.

Tabulka 1. Třídy Qt mapované na ekvivalentní třídy Java

Třída QtTřídy Java
QCharchar a java.lang. znak
QHashjava.util.HashMap
QListjava.util.List
QMapjava.util.SortedMap
QStringřetězec java.lang
QThreadjava.lang.Thread
QVectorjava.util.List

Qt C ++ API závisí na typu abstraktní hodnoty QVariant zapouzdřit mnoho typů hodnot Qt. Protože jazyk Java již poskytuje společný abstraktní typ pro všechny třídy (běžný Objekt základní třída), Qt Jambi API spoléhá na Objekt kdekoli se Qt C ++ spoléhá QVariant. Qt Jambi mapuje výčty C ++ na výčty Java, aby vynucovala bezpečnost typu pro výčty Qt-Java a bitové příznaky.

Qt Jambi obsahuje rozhraní GUI založené na widgetech, které využívá rozšíření specifická pro platformu, jako jsou ActiveX, OpenGL a ClearType. Tento rámec poskytuje nativní funkce vzhledu a chování pro motivy Windows, Mac OS X a Linux.

Widgety v Qt Jambi se řídí syntaxí šablony stylů podobnou kaskádovým stylům HTML (CSS), takže můžete provádět drobné nebo rozšířené přizpůsobení vyladěním značek a vlastností ve stylu CSS. Můžete také podtřídit widgety Qt pro ještě více přizpůsobení a ovládání vzhledu a cítění.

Rámec grafického uživatelského rozhraní Qt Jambi zahrnuje třídy správy rozvržení, které jsou prezentovány v nástroji Qt Designer pro zjednodušení rozvržení při vytváření komponent a aplikací na ploše. Obrázek 1 ukazuje okno Rozvržení v nástroji Qt Designer.

Rámec grafického uživatelského rozhraní Qt Jambi poskytuje rozhraní API pro vytváření aplikací s dokovatelnými komponentami. Tuto funkci můžete mimo jiné použít k vytváření desktopových aplikací s nativními ukotvenými panely nástrojů vzhledu a chování.