Sviluppo desktop Java con Qt Jambi

Qt Jambi è una nuova e degna di nota alternativa a Swing e Java 2D per lo sviluppo di interfacce per applicazioni desktop complesse e multipiattaforma. In questo articolo, il collaboratore di JavaWorld Jeff Hanson introduce Qt Jambi recentemente rilasciato, spiega come funziona sotto il cofano e presenta esempi di programmazione che ti consentiranno di familiarizzare con l'API drag-and-drop del framework e gli strumenti di sviluppo integrati.

Qt Jambi, rilasciato all'inizio di giugno 2007, è un framework di sviluppo che integra il linguaggio di programmazione Java con il popolare framework di sviluppo GUI C ++ di Trolltech, Qt. Rilasciato con una doppia licenza open source / commerciale, Qt Jambi consente agli sviluppatori Java che utilizzano Java Standard Edition 5.0 (JSE 5.0) e versioni successive di sfruttare le funzionalità del framework Qt. Insieme al supporto multipiattaforma testato nel settore, Qt Jambi fornisce supporto per le basi dello sviluppo di GUI come grafica 2D e 3D, messaggistica di eventi interobject drag-and-drop, internazionalizzazione, accesso al database SQL, protocolli di rete XML e TCP / IP. Un plug-in Qt Jambi Eclipse offre anche la possibilità di accedere alle funzioni di Qt Jambi utilizzando Eclipse.

Scarica Qt Jambi
Qt Jambi è offerto con una doppia licenza open source / commerciale. Puoi scaricare entrambe le versioni dalla homepage di Trolltech. La versione open-source è fornita sotto la GNU General Public License e viene fornita senza supporto o garanzia. I progetti commerciali sono necessari per utilizzare la versione commerciale di Qt Jambi.

Qt Jambi si basa sulla base della GUI C ++ multipiattaforma di Qt per facilitare il compito di sviluppare interfacce utente native per la maggior parte delle piattaforme desktop utilizzando codice Java. In quanto tale, è un'interessante alternativa a Swing e Java 2D per lo sviluppo di desktop Java. In questa introduzione pratica a Qt Jambi imparerai a conoscere l'API di sviluppo di Qt Jambi e gli strumenti di sviluppo integrati. Verrai introdotto al framework GUI basato su widget di Qt Jambi e imparerai come creare un progetto utilizzando Qt Designer. Confronterai anche il meccanismo di gestione degli eventi dei segnali e degli slot di Qt Jambi con il framework del listener di eventi Java, darai una prima occhiata al sistema di rendering grafico di Qt Jambi e vedrai di persona come si integra con Eclipse tramite il plug-in Qt Jambi Eclipse.

Scarica Qt Jambi ora se desideri seguire gli esempi.

Panoramica di Qt Jambi

Qt Jambi è un framework basato su Java che integra il framework C ++ multipiattaforma di Trolltech per lo sviluppo di GUI con il linguaggio di programmazione Java. Le seguenti funzionalità sono disponibili quando si sviluppano applicazioni desktop Java con Qt Jambi:

  • Eccellente supporto multipiattaforma per grafica 2D e 3D
  • Un meccanismo unico di comunicazione degli eventi tra oggetti
  • Internazionalizzazione
  • Accesso al database SQL
  • Supporto per XML
  • Supporto per i protocolli di rete TCP / IP

È possibile utilizzare Qt Jambi con la maggior parte delle JVM (Java virtual machine) successive a Java Standard Edition (JSE) 5.0 e Java Enterprise Edition (JEE) 5.0. La stretta integrazione con il sistema operativo di Qt Jambi consente di produrre applicazioni desktop Java che imitano l'aspetto e le funzionalità del sistema operativo nativo.

Qt incontra il linguaggio di programmazione Java

L'API Qt Jambi fornisce un sottile strato di codice Java che interagisce con le librerie C ++ compilate in modo nativo di Trolltech. Questo livello di codice Java viene eseguito in qualsiasi Java Runtime Environment (JRE) e utilizza il framework JNI (Java Native Interface) per comunicare con le librerie C ++ native.

In sostanza, Qt Jambi inserisce un livello di astrazione Java sulle librerie C ++ di Qt. Per affrontare la somiglianza e la sovrapposizione tra le classi C ++ di Qt e le classi principali di Java, Qt Jambi mappa le classi C ++ sovrapposte alle classi Java corrispondenti. Di conseguenza, è possibile utilizzare costrutti e operatori Java standard con le astrazioni native di Qt. È anche possibile combinare API Qt Jambi con API Java non Qt.

La Tabella 1 mostra le classi Qt che sono mappate a classi core Java equivalenti.

Tabella 1. Classi Qt associate a classi Java equivalenti

Classe Qt Classe / i Java
QChar char e java.lang.Character
QHash java.util.HashMap
QList java.util.List
QMap java.util.SortedMap
QString java.lang.String
QThread java.lang.Thread
QVector java.util.List

L'API Qt C ++ dipende da un tipo di valore astratto QVariantper incapsulare molti tipi di valore Qt. Poiché il linguaggio Java fornisce già un tipo astratto comune per tutte le classi (la Objectclasse base comune ), l'API Qt Jambi si basa sulla Objectclasse ovunque si basi Qt C ++ QVariant. Qt Jambi associa le enumerazioni C ++ alle enumerazioni Java per applicare l'indipendenza dai tipi per le enumerazioni Qt-Java e i flag di bit.

Qt Jambi include un framework GUI basato su widget che sfrutta le estensioni specifiche della piattaforma come ActiveX, OpenGL e ClearType. Questo framework fornisce funzionalità native di aspetto grafico per temi Windows, Mac OS X e Linux.

I widget in Qt Jambi seguono una sintassi del foglio di stile simile a CSS (Cascading Style Sheets) HTML, quindi puoi eseguire personalizzazioni minori o diffuse modificando tag e proprietà in stile CSS. Puoi anche sottoclassare i widget di Qt per una personalizzazione e un controllo ancora maggiori dell'aspetto.

Il framework GUI di Qt Jambi include classi di gestione del layout presentate nello strumento Qt Designer per semplificare il layout durante la creazione di componenti desktop e applicazioni. La Figura 1 mostra la finestra Layout nello strumento Qt Designer.

Il framework GUI di Qt Jambi fornisce API per la creazione di applicazioni con componenti ancorabili. Tra le altre cose, è possibile utilizzare questa funzionalità per creare applicazioni desktop con barre degli strumenti di aggancio dall'aspetto nativo.