Développement de bureau Java avec Qt Jambi

Qt Jambi est une nouvelle alternative remarquable à Swing et Java 2D pour le développement d'interfaces d'applications de bureau riches et multiplateformes. Dans cet article, le contributeur JavaWorld , Jeff Hanson, présente le Qt Jambi récemment publié, explique comment il fonctionne sous le capot et présente des exemples de programmation qui vous familiariseront avec l'API glisser-déposer du framework et les outils de développement intégrés.

Qt Jambi, sorti début juin 2007, est un framework de développement qui intègre le langage de programmation Java avec le framework de développement GUI C ++ populaire de Trolltech, Qt. Publié sous une double licence open source / commerciale, Qt Jambi permet aux développeurs Java utilisant Java Standard Edition 5.0 (JSE 5.0) et versions ultérieures de tirer parti des fonctionnalités du framework Qt. Outre la prise en charge multiplateforme testée par l'industrie, Qt Jambi prend en charge les bases du développement d'interface graphique telles que les graphiques 2D et 3D, la messagerie d'événements interobjets par glisser-déposer, l'internationalisation, l'accès aux bases de données SQL, les protocoles réseau XML et TCP / IP. Un plug-in Qt Jambi Eclipse vous donne également la possibilité d'accéder aux fonctionnalités de Qt Jambi en utilisant Eclipse.

Télécharger Qt Jambi
Qt Jambi est proposé sous une double licence open source / commerciale. Vous pouvez télécharger l'une ou l'autre des versions depuis la page d'accueil de Trolltech. La version open-source est fournie sous la licence publique générale GNU et est livrée sans support ni garantie. Les projets commerciaux doivent utiliser la version commerciale de Qt Jambi.

Qt Jambi s'appuie sur la base d'interface graphique C ++ multiplateforme de Qt pour faciliter la tâche de développement d'interfaces utilisateur natives pour la plupart des plates-formes de bureau utilisant du code Java. En tant que tel, c'est une alternative intéressante à Swing et Java 2D pour le développement de bureau Java. Dans cette introduction pratique à Qt Jambi, vous découvrirez l'API de développement de Qt Jambi et les outils de développement intégrés. Vous serez présenté au framework d'interface graphique basé sur les widgets de Qt Jambi et apprendrez à créer un projet à l'aide de Qt Designer. Vous comparerez également le mécanisme de gestion des événements signaux et slots de Qt Jambi avec le framework d'écoute d'événements Java, aurez un premier aperçu du système de rendu graphique de Qt Jambi et verrez par vous-même comment il s'intègre à Eclipse via le plug-in Qt Jambi Eclipse.

Téléchargez Qt Jambi maintenant si vous souhaitez suivre les exemples.

Présentation de Qt Jambi

Qt Jambi est un framework basé sur Java qui intègre le framework C ++ multiplateforme de Trolltech pour le développement d'interface graphique avec le langage de programmation Java. Les fonctionnalités suivantes sont disponibles lors du développement d'applications de bureau Java avec Qt Jambi:

  • Excellente prise en charge multiplateforme pour les graphiques 2D et 3D
  • Un mécanisme unique de communication d'événements interobjets
  • Internationalisation
  • Accès à la base de données SQL
  • Prise en charge de XML
  • Prise en charge des protocoles réseau TCP / IP

Vous pouvez utiliser Qt Jambi avec la plupart des JVM (machines virtuelles Java) postérieures à Java Standard Edition (JSE) 5.0 et Java Enterprise Edition (JEE) 5.0. L'intégration étroite du système d'exploitation de Qt Jambi vous permet de produire des applications de bureau Java qui imitent l'aspect et la convivialité du système d'exploitation natif.

Qt rencontre le langage de programmation Java

L'API Qt Jambi fournit une fine couche de code Java qui interagit avec les bibliothèques C ++ compilées en natif de Trolltech. Cette couche de code Java s'exécute dans n'importe quel environnement Java Runtime (JRE) et utilise le framework Java Native Interface (JNI) pour communiquer avec les bibliothèques C ++ natives.

Essentiellement, Qt Jambi place une couche d'abstraction Java sur les bibliothèques C ++ de Qt. Pour remédier à la similitude et au chevauchement entre les classes C ++ de Qt et les classes principales de Java, Qt Jambi mappe les classes C ++ qui se chevauchent aux classes Java correspondantes. En conséquence, vous pouvez utiliser des constructions et des opérateurs Java standard avec les abstractions natives de Qt. Vous pouvez également mélanger les API Qt Jambi avec des API Java non Qt.

Le tableau 1 montre les classes Qt qui sont mappées aux classes principales Java équivalentes.

Tableau 1. Classes Qt mappées à des classes Java équivalentes

Classe Qt Classe (s) Java
QChar char et 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 ++ dépend d'un type de valeur abstrait QVariantpour encapsuler de nombreux types de valeur Qt. Comme le langage Java fournit déjà un type abstrait commun pour toutes les classes (la Objectclasse de base commune ), l'API Qt Jambi s'appuie sur la Objectclasse là où Qt C ++ s'appuie QVariant. Qt Jambi mappe les énumérations C ++ aux énumérations Java pour appliquer la sécurité de type pour les énumérations et les indicateurs de bits Qt-Java.

Qt Jambi comprend un cadre d'interface graphique basé sur des widgets qui tire parti des extensions spécifiques à la plate-forme telles qu'ActiveX, OpenGL et ClearType. Ce cadre fournit des fonctionnalités natives d'apparence pour les thèmes Windows, Mac OS X et Linux.

Les widgets de Qt Jambi suivent une syntaxe de feuille de style similaire à celle des feuilles de style en cascade HTML (CSS), vous pouvez donc effectuer des personnalisations mineures ou généralisées en modifiant les balises et les propriétés de style CSS. Vous pouvez également sous-classer les widgets de Qt pour encore plus de personnalisation et de contrôle de l'apparence.

Le framework GUI de Qt Jambi comprend des classes de gestion de mise en page qui sont présentées dans l'outil Qt Designer pour simplifier la mise en page lors de la création de composants et d'applications de bureau. La figure 1 montre la fenêtre Layouts dans l'outil Qt Designer.

Le framework GUI de Qt Jambi fournit des API pour créer des applications avec des composants ancrables. Entre autres choses, vous pouvez utiliser cette fonctionnalité pour créer des applications de bureau avec des barres d'outils natives d'apparence et de convivialité.