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 :

IHM paramétrable à partir d'un fichier texte


Sujet :

Interfaces Graphiques en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2008
    Messages
    145
    Détails du profil
    Informations personnelles :
    Âge : 68

    Informations forums :
    Inscription : Septembre 2008
    Messages : 145
    Par défaut IHM paramétrable à partir d'un fichier texte
    Bonjour,

    J'aimerai créer un fichier texte qui comporte des éléments comme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CreerBouton(x,y,taille,couleur, image de fond, etc.)
    CreerDialogue(x, y, etc.)
    etc.

    Pour créer une interface personnalisable et paramétrable.

    Concevoir un programme qui permette de lire ce fichier texte pour créer cette IHM comme j'en ai envie. Est-il possible de faire cela en JAVA et si oui pouvez-vous me donner des pistes (liens, fonctions,) ? Peut être que ma demande a déjà été traité ?

    Merci d'avance
    Cordialement

    GREG

  2. #2
    Membre éclairé Avatar de Balbuzard
    Profil pro
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Par défaut
    Je pense que ça doit être possible, mais déjà, plutôt qu'un fichier texte, choisi un fichier xml, qui a l'avantage d'être un fichier texte facilement lisible par la machine et par toi-même.

    Tu peux avoir davantage de précisions en allant voir ici

    Chaque balise peut contenir un élément graphique à afficher.
    Lors de la lecture, tu implémentes toutes tes méthodes, et lorsque celle-ci est terminée, tu mets un setVisible(true) sur ta JFrame si tu programmes en Swing.

    Bon courage :-)

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2008
    Messages
    145
    Détails du profil
    Informations personnelles :
    Âge : 68

    Informations forums :
    Inscription : Septembre 2008
    Messages : 145
    Par défaut complément
    Merci Balbuzard pour le XML tu as raison. Par contre je n'ai pas bien compris ton message

    "Lors de la lecture, tu implémentes toutes tes méthodes... "

    tu peux m'en dire un peu plus ?

    )
    Greg

  4. #4
    Membre expérimenté Avatar de welcome_59
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 203
    Par défaut
    Effectivement, un fichier xml serait probablement meilleur qu'un simple fichier texte.
    Une autre solution est de créer un objet que tu sérialises.

  5. #5
    Membre éclairé Avatar de Balbuzard
    Profil pro
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Par défaut
    Je voulais parler de ces méthodes-là :
    CreerBouton(x,y,taille,couleur, image de fond, etc.)
    CreerDialogue(x, y, etc.)
    etc.
    Tu peux parcourir ton fichier xml qui se présente comme un arbre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <IHM>
         <FENETRE name="..." title="..."/FENETRE>
         <BOUTON name="bouton1" actionCommand="start" height="34" weight="2"/BOUTON>
         <BOUTON..../BOUTON>
    </IHM>
    Tu peux parcourir ton fichier, et chaque arguement serait les arguments dont tes méthodes ont besoin pour fonctionner

  6. #6
    Membre Expert
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Par défaut
    Salut,

    Tu peut aussi utiliser un ResourceBundle et un fichier properties, c'est moins lourd à mettre en place que de définir un fichier XML.

    par exemple avec la classe Messages :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    import java.awt.Color;
    import java.util.MissingResourceException;
    import java.util.ResourceBundle;
     
    public class Messages {
    	private static final String BUNDLE_NAME = "messages"; 
     
    	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle
    			.getBundle(BUNDLE_NAME);
     
    	private Messages() {
    	}
     
    	public static String getString(String key) {
    		try {
    			return RESOURCE_BUNDLE.getString(key);
    		} catch (MissingResourceException e) {
    			return '!' + key + '!';
    		}
    	}
     
    	public static Color getColor(String key) {
    		try {
    			String obj = RESOURCE_BUNDLE.getString(key);
    			return Color.decode(obj);
    		} catch (MissingResourceException e) {
    			System.err.println('!' + key + '!');
    			return null;
    		}
    	}
    }
    "messages" est le nom du fichier properties qui est un simple fichier text portant l'extension "properties" (en l'occurence messages.properties). Si tu veux le mettre dans des package, il faut les spécifier aussi, par exemple : "package1.package2.messages"

    Voici un contenu possible :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Test.0=Coucou c'est moi
    Test.color=#FF0000
    Ensuite tu récupère ce que tu veux par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public class Test {
     
    	public static void main(String[] args) {
    		System.out.println(Messages.getString("Test.0"));
    		System.out.println(Messages.getColor("Test.color")); 
    	}
     
    }
    C'est surtout fait pour des chaines de caractères (internationalisation), mais rien ne t'empêche de t'en servir pour paramétrer des éléments.

  7. #7
    Membre confirmé
    Inscrit en
    Septembre 2008
    Messages
    145
    Détails du profil
    Informations personnelles :
    Âge : 68

    Informations forums :
    Inscription : Septembre 2008
    Messages : 145
    Par défaut créer les éléments
    Grand merci à tous ! ce sont de super infos !!

    Pour la partie récup des données à partir d'un fichier c'est ok, cependant je me pose encore des questions pour arriver à créer un bouton en provenance de paramètres extérieurs... je ne trouve pas d'exemple, en prog on crée le bouton par exemple en tapant du code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Bu1 = new Button("Ok");
    Bu1.addActionListener(this);
    controls.add(Bu1);
    if (e.getSource() == Bu1) xxx.fonct1();
    mais là vu que ça vient d'un fichier, il faut que je lis le fichier en faisant des boucles pour créer les différents boutons, mais comment faire pour le créer puis pour utiliser un bouton qui serait optionnel ?? voici un exemple:

    l'utilisateur demande dans le script en xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CreerBouton(BP1,x,y,rouge)
    JouerSon("son.wma")
    AttendreAppuiBouton(BP1)
    JouerSon("son2.wma")
    Est-il possible de coder cela en JAVA car j'avoue être un peu perdu...j'espère que vous me comprendrez

    Bonne soirée à tous
    Bien cordialement

    Greg

Discussions similaires

  1. Réponses: 9
    Dernier message: 06/05/2009, 13h23
  2. ajout de données à partir d'un fichier texte
    Par drakenzara dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 14/04/2006, 12h39
  3. Lancer des commandes dos à partir d'un fichier texte
    Par tpdm dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 09/08/2005, 16h56
  4. état à partir d'un fichier texte
    Par onkel dans le forum Bases de données
    Réponses: 1
    Dernier message: 21/07/2005, 10h26
  5. Réponses: 11
    Dernier message: 04/08/2003, 15h30

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