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 :

Développez un programme Java "complexe"


Sujet :

Interfaces Graphiques en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2010
    Messages : 123
    Par défaut Développez un programme Java "complexe"
    Bonjour à tous,

    Je viens vers vous car j’éprouve beaucoup de difficulté à trouver une solution à mon problème. Nous voudrions réaliser un programme complexe en java (c'est un langage que nous maîtrisons assez bien) mais nous avons du mal à trouver un framework adapté.
    Nous avons débuter avec SWING mais nous nous sommes rapidement trouvé bloqué à la limite de ces possibilités...

    Pour rendre le problème un peu plus simple, imaginons que j'ai des formes dans un cadre et que je souhaite pouvoir faire un drag & drop de ces formes dans un autre cadre et dans le 2e cadre, les déplacer, les redimensionner, effectuer des actions en faisant un clique gauche ou droit, gérer la profondeur, avoir un menu, etc.
    Nom : ProgrammeJavaExemple.png
Affichages : 1101
Taille : 68,3 Ko

    Inutile de préciser que le programme devra être bien plus complexe Il n'y aura pas 2 mais bien 3 ou 4 cadres, des popup, des menus différents selon les états demandés par l’utilisateur, etc. En d'autre termes, un bon gros programme de bureautique.

    Auriez-vous des idées à nous proposer de frameworks qui pourraient être adapté à ce que nous voulons faire ? Le programme serait une sorte de mélange entre Paint et Power point (sans la notion de slide) et tout en étant complétement différent !!! Le seule chose de similaire serait le drag & drop d'images, le rendu de formes complexes, la possibilité d'ajouter du texte et la gestion des profondeurs.

    D'avance un tout grand merci !

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Pour la partie drag and drop, je t'invite à lire les documentation à ce sujet, c'est géré en base en java, a toi de mettre dans le transfert objet les informations sur ce que tu drag.

    Pour la partie affichage,
    • tu peux partir de zéro: un jcanvas où tu gère toi même et tu dispatche tous les évènement,
    • partir de jgraph qui permet de placer des "composant" dans une graphe
    • partir de ygraph peut être, je ne suis pas sur qu'il fasse tout ce que tu veux
    • partir de batik, qui permet du dessin SVG et de rajouter de l'évenementiel sur les composant svg, ça peut te faciliter le dessin, mais ça nécessite du travail pour faire la partie menu / interface, boutons de contrôle.
    • peut être travailler avec javafx qui permet un lien entre propriété d'objets et composant graphique sans avoir à gérer la plomberie.

    Il y a surement d'autres possibilités que j'ignore.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2010
    Messages : 123
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Pour la partie drag and drop, je t'invite à lire les documentation à ce sujet, c'est géré en base en java, a toi de mettre dans le transfert objet les informations sur ce que tu drag.
    Oui, bien entendu...

    Citation Envoyé par tchize_ Voir le message
    • tu peux partir de zéro: un jcanvas où tu gère toi même et tu dispatche tous les évènement,
    Ca me semble un peu brutal comme solution mais c'est peut-être la seule...

    Citation Envoyé par tchize_ Voir le message
    • partir de jgraph qui permet de placer des "composant" dans une graphe
    • partir de ygraph peut être, je ne suis pas sur qu'il fasse tout ce que tu veux
    • partir de batik, qui permet du dessin SVG et de rajouter de l'évenementiel sur les composant svg, ça peut te faciliter le dessin, mais ça nécessite du travail pour faire la partie menu / interface, boutons de contrôle.
    Ok, mais comment gérer le redimensionnement ? La profondeur ? Et toutes les modifications qui seront apportées... Enfin, j'explorerai quand même tout ça mais je doute que cela réponde complétement à mes attentes

    Citation Envoyé par tchize_ Voir le message
    • peut être travailler avec javafx qui permet un lien entre propriété d'objets et composant graphique sans avoir à gérer la plomberie.
    Je vais commencer par regarder de ce côté. Ce n'est pas la première fois que j'entends parlé de javafx. Il faudrait que j'aille voir.

    Cependant, j'ai toujours entendu que des programmes comme OpenOffice, LibreOffice, Eclipse, etc. étaient codé en java. On ne va pas me faire croire que ça a été fait avec Swing ? Je me demande avec quoi ils peuvent bien travailler... Je vais également continuer un peu mes recherches.

    Merci pour ta réponse.

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par VonDriguen Voir le message

    Ok, mais comment gérer le redimensionnement ? La profondeur ? Et toutes les modifications qui seront apportées... Enfin, j'explorerai quand même tout ça mais je doute que cela réponde complétement à mes attentes
    Ben c'est sur faudra regarder en détail ce que chaque outil fournis. JGraph permet de fournir des quasi composant swing à JGraph pour faire le dessin, donc à toi dans ton code de dessins de dessiner en fonction de niveau de zoom. Il fournis aussi déjà tout ce qui est handle pour manipuler tes nodes, donc ça ne devrais pas être bien compliqué de mettre des handle de redimensionnement.

    SVG étant verctoriel, du redimensionnement, rotation etc est très facile à faire.

    Pour la profondeur, je suppose que tu veux dire déterminer quel élément se dessine au dessus de l'autre? Faut regarder tes différentes api, c'est quand même un problème de base qui en général est déjà géré.

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par VonDriguen Voir le message
    Cependant, j'ai toujours entendu que des programmes comme OpenOffice, LibreOffice, Eclipse, etc. étaient codé en java. On ne va pas me faire croire que ça a été fait avec Swing ? Je me demande avec quoi ils peuvent bien travailler... Je vais également continuer un peu mes recherches.
    OpenOffice est codé en C++, je suppose que LibreOffice également

    Swing permet de faire pas mal de chose (si pas tout) mais c'est vrai qu'il y a beaucoup à faire...
    L'application est forcément un client lourd ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2010
    Messages : 123
    Par défaut
    Citation Envoyé par tchize_
    Ben c'est sur faudra regarder en détail ce que chaque outil fournis. JGraph permet de fournir des quasi composant swing à JGraph pour faire le dessin, donc à toi dans ton code de dessins de dessiner en fonction de niveau de zoom. Il fournis aussi déjà tout ce qui est handle pour manipuler tes nodes, donc ça ne devrais pas être bien compliqué de mettre des handle de redimensionnement.

    SVG étant verctoriel, du redimensionnement, rotation etc est très facile à faire.

    Pour la profondeur, je suppose que tu veux dire déterminer quel élément se dessine au dessus de l'autre? Faut regarder tes différentes api, c'est quand même un problème de base qui en général est déjà géré.
    Je regarde du côté de JavaFX et avec beaucoup de codage, je pense que c'est réalisable... Mais j'ai quand même l'impression qu'on va ré-inventer la roue pour beaucoup de méthodes et qu'il y a de nombreuses solutions qui existent déjà pour gérer de nombreux problèmes. J'ai peur que cela prenne au fur et à mesure une proportion non estimée qui explose les budgets.

    Citation Envoyé par OButterlin Voir le message
    OpenOffice est codé en C++, je suppose que LibreOffice également
    Bon, ok pour OO et libre office, au temps pour moi. Nommons éclise alors ^^
    Plus sérieusement, j'ai du mal a concevoir que de grosses applications de bureautique soient codées avec Swing.

    Citation Envoyé par OButterlin Voir le message
    L'application est forcément un client lourd ?
    Ca c'est THE question. Qu'entends-tu par lourd ? Comme il y aura du traitement d'image, cela dépendra des images que l'utilisateur importera... Je ne pense pas que le programme dépassera 250Mo (hors images importées) mais je n'ai aucune certitude. Nous sommes seulement au stade du chahier des charges et de l'analyse des besoins...

  7. #7
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Salut,

    Un framework SWING adapté pour afficher des formes (java.awt.Shape, entre autres) et les manipuler : Picollo2D (Voir des exemples aussi sur leur page d'origine, ou exécuter directement les exemples fournis avec le code, avec edu.umd.cs.piccolo.examples.ExempleRunner).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par VonDriguen Voir le message
    Ca c'est THE question. Qu'entends-tu par lourd ? Comme il y aura du traitement d'image, cela dépendra des images que l'utilisateur importera... Je ne pense pas que le programme dépassera 250Mo (hors images importées) mais je n'ai aucune certitude. Nous sommes seulement au stade du chahier des charges et de l'analyse des besoins...
    J'entends par client lourd une application autonome (par opposition au client léger web)...
    Je ne connais pas exactement ce que fera l'application, mais de ce que tu as montré, ça passerait (à priori) avec du web (primefaces extensions) voir du html5 avec les canvas... mais bon, ce n'est qu'une estimation par rapport à ce que tu as décrit...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Java requête SQL quote antislash
    Par ritchie23 dans le forum Débuter avec Java
    Réponses: 11
    Dernier message: 01/10/2008, 16h50

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