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

Format d'échange (XML, JSON...) Java Discussion :

Créer un menu dynamique à partir d'un XML


Sujet :

Format d'échange (XML, JSON...) Java

  1. #1
    Inactif  
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    58
    Points
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2014
    Messages : 58
    Points : 53
    Par défaut Créer un menu dynamique à partir d'un XML
    Bonjour ,
    Je voudrais afficher un menu dynamique à partir d'un fichier xml et je ne sais pas comment. Merci d'avance pour votre aide.

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Points
    29 131
    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
    Points : 29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Dans une application WEB, ou un client desktop (en SWING, JavaFX ou SWT ?) ?

    Le principe c'est de lire le fichier xml, avec un parser XML (par exemple JDOM2). Puis de créer le menu à partir des informations lues dans le XML. Et la façon de le faire dépend de quel type d'interface tu voudrais mettre en place.

  3. #3
    Inactif  
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    58
    Points
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2014
    Messages : 58
    Points : 53
    Par défaut
    Merci B1.je travaille avec Java(Swing)

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Points
    29 131
    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
    Points : 29 131
    Billets dans le blog
    2
    Par défaut
    La base pour créer des menus en SWING est dans ce tutoriel : Ajouter une barre de menu à votre fenêtre.

    Parcourir une liste d'éléments xml qui définissent un nom et éventuellement une icône pour créer autant de JMenuItem (ou JMenu pour les sous menu) n'est pas la partie la plus complexe. Un menu n'a d’intérêt que s'il fait une action.

    Pour avoir déjà fait ce genre de chose, je dirais que tu as 4 orientations possibles :

    1. La première est très limitée et peu évolutive, mais très simple à programmer (un switch, ou une Map<String, javax.swing.Action>), du moins sans écrire du code à chaque évolution : dans l'élément qui définit une entrée de menu, on met un attribut id dont la valeur désigne l'action qu'on veut faire. Par exemple on peut avoir
      Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
      <menu nom="Quitter" id="application.exit"/>
      Le code qui contruit les menus sait interpréter les id pour déterminer quelle action mettre sur le menu.
    2. Le xml contient une information d'identifiant d'action sous forme de nom de classe qui implémente javax.swing.Action (ou qui étend java.swing.AbstractAction)
      On instancie les classes d'action par réflexion lors de la constitution du menu. En fonction de la complexité et des fonctionnalités de ton menu (je pense en particulier aux problématiques de cacher un menu, ou de le rendre inactif, de faire dépendre un menu du contexte de sélection, etc...), on peut décorréler l'action de ce quel fait, on introduisant un ou plusieurs niveaux de classes (handler, command, etc...), mais commence par faire ça avec des actions à un niveau, c'est le plus simple. En allant plus loin dans la complexité, on peut même introduire dans le xml les conditions qui gère l'activation ou la visibilité de l'action, ou la sélection (pour les actions de type toggle).
    3. Mélanger les 2 précédents système
      • Certaines actions standards sont identifiées par un identifiant que l'application définit
      • On peut toujours ajouter des actions en ajoutant juste des classes d'action et en modifiant le xml
    4. Les actions sont écrites en Javascript directement dans le XML(Avec Nashorn, on peut exécuter du javascript dans java très facilement). Ce mode peut bien entendu être combiné avec le 1 et le 2 (tu peux ajouter un attribut dans le xml qui dit lequel des trois types est utilisé dans l'élément pour décrire l'action)


    Sache également qu'il existe des systèmes qui utilisent déjà du xml pour paramétrer des menus : si ton besoin est limité, tu peux te faire ton propre système, mais s'il est complexe, il peut être avantageux d'utiliser des systèmes déjà tout faits (je pense en particulier à Eclipse RCP, ou NetBeans RCP).

  5. #5
    Inactif  
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    58
    Points
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2014
    Messages : 58
    Points : 53
    Par défaut
    Merci b1 joel.drigo

Discussions similaires

  1. Créer un menu dynamiquement
    Par ptr83 dans le forum JSF
    Réponses: 5
    Dernier message: 24/11/2008, 19h00
  2. créer un menu dynamique
    Par deud5 dans le forum Dynamique
    Réponses: 1
    Dernier message: 08/09/2008, 19h34
  3. [Fabrique] Factory d'objets dynamiques à partir de définition xml
    Par djimbo75 dans le forum Design Patterns
    Réponses: 5
    Dernier message: 17/07/2007, 21h01
  4. ComboBox dynamique à partir de fichier XML
    Par ikeaboy dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 28/07/2006, 10h54
  5. Créer un menu dynamique (appele de pages externe)
    Par pierrot10 dans le forum ASP
    Réponses: 2
    Dernier message: 28/11/2005, 09h35

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