IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaces Graphiques en Java Discussion :

Quelles librairies utiliser pour construire une belle IHM ?


Sujet :

Interfaces Graphiques en Java

  1. #1
    Membre régulier

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 35
    Points : 76
    Points
    76
    Par défaut Quelles librairies utiliser pour construire une belle IHM ?
    Bonsoir,

    Je poste ce message dans cette section du forum car l'arborescence de la section IHM est trop précise pour mon type de question. En fait, j'aimerais savoir quelle librairies sous JAVA je pourrais utiliser pour faire une belle application (genre à la MAC ou QT). Pour le moment j'ai utilisé que Swing et voilà ... c'est pas terrible niveau ergonomie. J'ai fait quelques recherches et j'ai trouvé qu'il existait JavaFX maintenant mais je ne sais pas ce que ça vaut et je n'ai pas trouvé beaucoup de tuto là-dessus.

    Donnez moi vos avis de développeur Est ce que par hasard il est possible de faire des "décors" de JFrame sous Photoshop pour agrémenter encore plus l'IHM. Je vous met en pièce jointe un exemple d'ergonomie que moi et mon groupe aimerions développer.

    Nom : photo.jpg
Affichages : 1718
Taille : 39,7 Ko

  2. #2
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    tu peut utiliser l'API Swing avec un beau look feel comme Nimbus

  3. #3
    Membre régulier

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 35
    Points : 76
    Points
    76
    Par défaut
    Merci Je vais regarder ça en détails mais Swing restant assez lourd et vieillot, je ne pense pas qu'on se tournerait vers cette lib. A voir Autrement il y en a qui ont touché au JavaFX ? On peut faire des IHM d'applications avec ça ou bien c'est plus pour les WebApp ?

  4. #4
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    Citation Envoyé par banban56 Voir le message
    mais Swing restant assez lourd et vieillot
    je pense que ça reste une ancienne rumeur vu l'apparition de JVM Hotspot depuis 1998

  5. #5
    Expert confirmé

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Points : 4 324
    Points
    4 324
    Par défaut
    Swing + Substance est plutôt sexy.

    Sinon j'ai fais un peu de javafx, c'est un aprentissage à part entière, de plus ce n'est pas encore une techno mature.
    http://alaindefrance.wordpress.com
    Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1
    SDE at BitTitan

  6. #6
    Membre éprouvé
    Avatar de michel.di
    Homme Profil pro
    Freelance
    Inscrit en
    Juin 2009
    Messages
    782
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 782
    Points : 1 042
    Points
    1 042
    Par défaut
    Grâce à Alain je viens de découvrir les Look And Feel Substance et j'adopte!
    Ils sont vraiment très sympas!
    Docteur en informatique
    Freelance R&D, Web
    Activité freelance : https://redinnov.fr
    Page perso : https://michel-dirix.com/

  7. #7
    Expert confirmé

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Points : 4 324
    Points
    4 324
    Par défaut
    Citation Envoyé par michel.di Voir le message
    Grâce à Alain je viens de découvrir les Look And Feel Substance et j'adopte!
    Ils sont vraiment très sympas!
    Oui en plus c'est particulièrement facile à intégrer. Par contre j'éspère que t'as pas prévu de faire joujou avec les thread dans ton application parce que bonjour l'angoisse avec substance.
    http://alaindefrance.wordpress.com
    Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1
    SDE at BitTitan

  8. #8
    Membre éprouvé
    Avatar de michel.di
    Homme Profil pro
    Freelance
    Inscrit en
    Juin 2009
    Messages
    782
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 782
    Points : 1 042
    Points
    1 042
    Par défaut
    non je n'ai aucun Thread, heureusement!
    déja j'ai trouvé ça bizarre pour un L&F de se lancer dans un Thread
    Docteur en informatique
    Freelance R&D, Web
    Activité freelance : https://redinnov.fr
    Page perso : https://michel-dirix.com/

  9. #9
    Membre régulier

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 35
    Points : 76
    Points
    76
    Par défaut
    Merci Alain En effet Substance est sacrément sympa, j'aime beaucoup le skin Mist Aqua et Creme pour notre projet. Va falloir qu'on regarde ça plus en détails. Comment ça c'est la galère avec les Threads ? Parce que je pense qu'on risque d'en avoir un paquet dans notre application. Je ne sais pas encore vu que le diagramme de classe n'est pas fait mais vu l'ampleur du programme, ça m'étonnerait pas qu'ils y en aient ^^

  10. #10
    Expert confirmé

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Points : 4 324
    Points
    4 324
    Par défaut
    Citation Envoyé par michel.di Voir le message
    non je n'ai aucun Thread, heureusement!
    déja j'ai trouvé ça bizarre pour un L&F de se lancer dans un Thread
    En fait il se lance dans un thread à part depuis la dernière version, avant on pouvait le loader comme d'habitude.

    Citation Envoyé par banban56 Voir le message
    Merci Alain En effet Substance est sacrément sympa, j'aime beaucoup le skin Mist Aqua et Creme pour notre projet. Va falloir qu'on regarde ça plus en détails. Comment ça c'est la galère avec les Threads ? Parce que je pense qu'on risque d'en avoir un paquet dans notre application. Je ne sais pas encore vu que le diagramme de classe n'est pas fait mais vu l'ampleur du programme, ça m'étonnerait pas qu'ils y en aient ^^
    J'ai travaillé pour une entreprise et je devais charger des images à distance et je me suis confronté à des problèmes de performence. J'ai eu à charger plusieurs centaines de milliers d'image dans un panel Swing, et il fallait que l'application reste fluide. Mon code ne marchait que sans substance. J'ai certainement du faire des erreurs car je n'ai pas une maitrise totale de swing, mais l'utilisation de substance perturbe quelque peu le fonctionnement de Swing.

    Quelle est la taille du projet ?
    Je ne pense pas que la présence de thread dépend de la taille du projet.
    http://alaindefrance.wordpress.com
    Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1
    SDE at BitTitan

  11. #11
    Membre régulier

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 35
    Points : 76
    Points
    76
    Par défaut
    Non, bien entendu que la présence ou non de Threads dépend pas de la taille du projet. Mais quand je disais "vu l'ampleur du projet" c'était surtout au niveau de la complexité.

    Hmmm pour faire bref il s'agit d'un logiciel permettant de faciliter aux infirmières le maintien à domicile via la domotique. En gros, l'infirmière indique toute une panoplie d'actions en fonctions d'évènements et derrière ça, le soft compile et génère du code d'exécution permettant de faire tourner du matériel domotique, des web services, etc... Bien entendu la configuration se fait d'une simplicité déconcertante pour ne pas perturber l'infirmière ou bien le patient : l'utilisateur "balance" l'icône évènement ainsi que les icônes action dans une sorte de panier par un système de drag&drop.

  12. #12
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Suite à ton post et après quelques recherches, je viens de tester JTattoo, c'est super joli (notion très relative et personnelle, je vous l'accorde )... ça claque !
    Ça me donnerait presque envie de développer un client lourd avec Swing...
    (comme tu le comprendras, je ne suis pas un fun... le projet sur lequel je suis englué y est pour beaucoup... )
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  13. #13
    Expert confirmé

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Points : 4 324
    Points
    4 324
    Par défaut
    Cool je ne conaissais pas du tout .
    http://alaindefrance.wordpress.com
    Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1
    SDE at BitTitan

  14. #14
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Moi ce que je voi pour le moment c'est :

    Java (standard) : facile a mettre en place, ultra-penible a skinner. Mature.

    Java + API externe (Substance ou autre) semble etre une bonne solution car mature est stable et tu arriveras rapidement a un truc fonctionnel. MAIS tu devras apres peut-etre faire des compromis par rapport a ton design initial ou passer plusieurs jours/semaines a designer les composants customs pour arriver au meme resultat.

    JavaFX : ultra-facile a designer et a skinner*, pas forcement evident a mettre en place**. Prise de tete a deployer hors JWS. Non-mature.

    *Inkscape (SVG)/Illustrator (AI)+ Production Suite + NetBeans = IHM a 99.99% identique a ce que tu as dans le screenshot en 3 clics de souris grosso-modo.

    **manquent certains controles comme le TabbedPane dans la version actuelle bien qu'on puisse le simuler avec de noeuds customs. Sans parler des aberrations de comportement de certains layouts (voir topics dans forum JavaFX).

    Bref ca depend si tu es presse dans ton devel, a le temps de te lancer dans de l'experimental et de comment tu comptes deployer ton appli. Je pense que Java + API externe est la bonne voie tant que JavaFX n'a pas fait ses preuves.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  15. #15
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Citation Envoyé par Alain Defrance Voir le message
    En fait il se lance dans un thread à part depuis la dernière version, avant on pouvait le loader comme d'habitude.


    J'ai travaillé pour une entreprise et je devais charger des images à distance et je me suis confronté à des problèmes de performence. J'ai eu à charger plusieurs centaines de milliers d'image dans un panel Swing, et il fallait que l'application reste fluide. Mon code ne marchait que sans substance. J'ai certainement du faire des erreurs car je n'ai pas une maitrise totale de swing, mais l'utilisation de substance perturbe quelque peu le fonctionnement de Swing.

    Quelle est la taille du projet ?
    Je ne pense pas que la présence de thread dépend de la taille du projet.

    En fait au niveau des Threads, c'est juste que l'auteur de substance oblige les programmeurs qui utilisent son Look and Feel à programmer de façon propre avec Swing, c'est à dire de ne pas faire de mise à jour des composants graphiques en dehors de l'EDT. Cf le tutoriel de gfx sur les interactions entre Swing, les tâches longues et les threads: http://gfx.developpez.com/tutoriel/j...ing-threading/.

    L'entrée du blog de Kirill Grouchnikov ou il explique pourquoi il a mis en place ce mécanisme de vérification et d'exception si les composants sont modifiés depuis l'extérieur de l'EDT: http://www.pushing-pixels.org/?p=368.

    Pour moi c'est une excellente chose, et celà oblige les développeurs à coder de façon propre, et donc cela évite un paquet de bugs in fine.

    On peut également coupler celà avec l'API SwingHelper d'Alex Potochkin permettant de trouver à l'exécution les appels trop longs qui sont fait à l'intérieur de l'EDT: https://swinghelper.dev.java.net/
    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.

  16. #16
    Expert confirmé

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Points : 4 324
    Points
    4 324
    Par défaut
    Citation Envoyé par sinok Voir le message
    En fait au niveau des Threads, c'est juste que l'auteur de substance oblige les programmeurs qui utilisent son Look and Feel à programmer de façon propre avec Swing, c'est à dire de ne pas faire de mise à jour des composants graphiques en dehors de l'EDT. Cf le tutoriel de gfx sur les interactions entre Swing, les tâches longues et les threads: http://gfx.developpez.com/tutoriel/j...ing-threading/.

    L'entrée du blog de Kirill Grouchnikov ou il explique pourquoi il a mis en place ce mécanisme de vérification et d'exception si les composants sont modifiés depuis l'extérieur de l'EDT: http://www.pushing-pixels.org/?p=368.

    Pour moi c'est une excellente chose, et celà oblige les développeurs à coder de façon propre, et donc cela évite un paquet de bugs in fine.

    On peut également coupler celà avec l'API SwingHelper d'Alex Potochkin permettant de trouver à l'exécution les appels trop longs qui sont fait à l'intérieur de l'EDT: https://swinghelper.dev.java.net/
    Je m'ettais beaucoup renseigné à propos de Swing quand j'ai eu à travailler avec. En effet il y a tout un tas de bonne pratique qui sont plus ou moins imposées avec Substance. Le problème c'est quand c'est notre premier projet sérieux avec Swing, ca se complique :p
    http://alaindefrance.wordpress.com
    Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1
    SDE at BitTitan

  17. #17
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Citation Envoyé par Alain Defrance Voir le message
    Je m'ettais beaucoup renseigné à propos de Swing quand j'ai eu à travailler avec. En effet il y a tout un tas de bonne pratique qui sont plus ou moins imposées avec Substance. Le problème c'est quand c'est notre premier projet sérieux avec Swing, ca se complique :p
    Ce ne sont pas de bonnes pratiques au niveau substance. C'est juste de savoir utiliser Swing d'une façon correcte. Mieux vaut prendre de bonnes habitudes lors du démarrage que de devoir les corriger par la suite. Et les bugs concernant l'EDT sont très souvents durs à diagnostiquer (comportement aléatoire de composants, exceptions pas forcément compéhensibles, IHM freezée sont des résultats d'une mauvaise utilisation de Swing et de la non compréhension de l'EDT).
    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.

  18. #18
    Expert confirmé
    Avatar de Valère
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 334
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2005
    Messages : 1 334
    Points : 4 740
    Points
    4 740
    Par défaut
    Ce n'est pas à proprement parler une bibliothèque, mais Aerith est une bonne démo de ce qu'on peut faire avec Swing.

    Autre exemple sympathique, le projet BlueMarine sur base de plateforme Netbeans.
    Pensez au bouton
    Je ne répond pas aux questions techniques par email ou MP.

  19. #19
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 108
    Points : 3 203
    Points
    3 203
    Par défaut
    et encore +1 pour swing.
    Systèmes d'Informations Géographiques
    - Projets : Unlicense.science - Apache.SIS

    Pour un monde sans BigBrother IxQuick ni censure RSF et Les moutons

  20. #20
    En attente de confirmation mail

    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 766
    Points : 1 267
    Points
    1 267
    Par défaut
    J'ai utilisé - et même payé - JTatto. De là à dire que c'est exceptionnel... Je préfère un site web ou Flash.

Discussions similaires

  1. Quelle composante utiliser pour lire une matrice
    Par Layla dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 10/02/2008, 12h31
  2. Réponses: 5
    Dernier message: 16/01/2008, 16h00
  3. Quelles technologies utiliser pour développer une encyclopedie en ligne ?
    Par shaynee dans le forum Général Conception Web
    Réponses: 12
    Dernier message: 24/09/2007, 11h38
  4. Réponses: 2
    Dernier message: 10/11/2006, 08h24
  5. Quel logiciel utiliser pour faire une belle interface web?
    Par irnbru dans le forum Webdesign & Ergonomie
    Réponses: 7
    Dernier message: 18/10/2006, 09h07

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