1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    mai 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2009
    Messages : 16
    Points : 12
    Points
    12

    Par défaut Java et Qt : intégrer des modules Swing et Awt dans Qt

    Bonjour à tous,

    Je suis en pleine phase de réflexion, je voudrais savoir s'il est possible d'intégrer des modules qui ont été initialement développé avec les bibliothèques graphiques de Java tels que Awt et Swing avec l'environnement graphique Qt?Qt

    Deux modules ont été développés :
    - un module graphique 3d a été programmer avec la bibliothèques (JPpanel Swing)
    - un Canvas 3D en AWT

    Cependant , mon objectif est d'intégrer ces deux modules dans une interface ergonomique , c'est pour cela que j'ai pensé à Qt.En effet l'énorme avantage de cet environnement , c'est sa simplicité et l'interaction entre les boutons.
    Avant de designer cette interface finale, je dois être sûr que je sois capable d'intégrer les modules dans Qt.
    Si oui , merci de m'éclaircir sur les solutions .

    Cordialement

    Damien

  2. #2
    Modérateur
    Avatar de sinok
    Profil pro
    Inscrit en
    août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : août 2004
    Messages : 8 765
    Points : 12 898
    Points
    12 898

    Par défaut

    A mon avis il n'existe rien de probant sur ce point là. Sachant que Jambi (les bindings Qt-java) a été abandonné par Nokia, (et que donc la maintenance est réalisée par deux/trois développeurs en open source)...

    Enfin ça a existé, au moins en tant que proof of concept: http://labs.qt.nokia.com/2007/10/18/...roubled-water/

    Toutefois tu seras obligé de passer par Jambi pour le développement, ce sera impossible en QT pur.

    Enfin bon, la gestion des boutons en java ce n'est pas si terrible que ça à partir du moment ou l'on a intégré les bons concepts (utilisation d'AbstractAction autant que possible, plutôt que d'ActionListener). La distinction entre les frameworks se fait surtout sur d'autres points, le stack Qt proposant beaucoup de choses sympatoches niveau multimedia & cie...
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    mai 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2009
    Messages : 16
    Points : 12
    Points
    12

    Par défaut

    Merci pour ta réponse, en faite j'ai télécharger Eclipse ainsi que Qt Jambi sur mon poste. Ce kit permets d'utiliser Qt sous eclipse donc en JAVA( initialement Qt s'utilise en C++)

    Mon objectif est d'intégrer des modules graphiques qui ont été développer préalablement avec des personnes de l'équipe sous SWING et AWT dans l'IHM Qt. Sachant que designer une IHM sur Qt semble plus facile qu'en Swing, cela serait un gain de temps pour l'équipe. Cependant avec la technique du bridge " Qt Jambi AWT Bridge" si l'intégration est trop lourde ( Qt----->SWING & AWT) , je ne vois pas l'intérêt d'utiliser Qt.


    Merci de m'éclaircir

    Damien

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    avril 2007
    Messages
    25 212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2007
    Messages : 25 212
    Points : 48 228
    Points
    48 228

    Par défaut

    l'intégration sera d'office lourde. Vous essayez de faire cohabiter deux choses différentes:

    java est un language , destinée à créer des application qui tourne indépendament de la plateforme, au sein d'un machine virtuelle
    QT est une simple API C++ ainsi qu'un précompilateur, destinée à un code natif dépendant de la plateforme, sans machine virtuelle.

    Bien qu'il est possible en java d'appeler des librairies natives (et donc du C++ et donc du QT) via JNI et JNA, ca aboutit à créer un application dépendante de la plateforme et difficile à maintenir. Nécessité de connaitre plusieurs languages et non plus un seul, nécessité de plusieurs compilateurs différents, complexité du débuggage lorsqu'on passe la frontière entre les deux mondes etc. Tout ça parce que swing c'est pas QT, c'est un peu overkill a mon avis. Et vous n'allez certainement pas faciliter le travail de vos devs en créant un monstre pareil à mon avis

    Si votre problème est l'ergnomie des composant swing (ce que je peux comprendre, il sont pas toujours au top), il existe d'autres librairies graphiques en java, comme apache pivot, sur lesquelles vous pourriez.

    Si vous voulez vraiment faire le QT -> abandonnez l'idée de réutiliser les composants java concernés et créez des composant QT au même comportement
    David Delbecq Java developer chez HMS Industrial Networks AB.     LinkedIn | Google+

Discussions similaires

  1. Réponses: 7
    Dernier message: 25/05/2011, 18h08
  2. Intégrer un module de Newsletter externe dans eZ Publish
    Par Fosher dans le forum eZ Publish
    Réponses: 7
    Dernier message: 02/06/2010, 16h27
  3. Réponses: 1
    Dernier message: 13/10/2009, 11h47
  4. Intégrer des classes d'autre projets dans son JAR
    Par romaintaz dans le forum Maven
    Réponses: 7
    Dernier message: 20/02/2008, 13h02
  5. Réponses: 9
    Dernier message: 03/11/2005, 15h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo