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

AWT/Swing Java Discussion :

Parcourir Composant en code


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Developpeur
    Inscrit en
    Novembre 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : Novembre 2005
    Messages : 42
    Par défaut Parcourir Composant en code
    Bonjour,

    J'aurais une nouvelle question :

    Voilà, j'aimerais savoir si c'est possible de naviguer sur les composants d'un GUI en code. Je m'explique. J'ai un fichier texte du style :
    label01="Nom"
    lable02 ="Prenom"

    J'aimerais pouvoir à l'ouverture du GUI lire ce fichier et assigner comme vous avez sans doute deviné le texte "Nom" au label01 se trouvant sur mon interface !

    Quelqu'un aurait-il le moyen d'y parvenir ?

    Merci bien !

  2. #2
    Membre averti
    Inscrit en
    Décembre 2005
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 28
    Par défaut Re: Parcourir Composant en code
    Sans problème avec un fichier de properties, c'est un fichier texte auquel tu associe une clef à une valeur.

    Ensuite tu n'as plus qu'à utiliser la classe java.util.Properties aller lire le fichier avec la methode load(InputStream inStream) puis getProperties(String laClef) pour récupérer la valeur quand tu en as besoin.

    Trés utile pour faire une application dans plusieurs langues.

    J'espère que c'est bien la réponse à ta question ,)

  3. #3
    Membre expérimenté Avatar de aDamas
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2004
    Messages : 260
    Par défaut
    Tu peux parcourir recursivement tout les composants de ton interface, avec la méthode getComponents() qui te retourne tout les éléments de ton container.
    En assignat un nom à chacun de tes éléments(setName()), tu peut retrouver le bon(getName()). ENsuite t'as plus qu'à faire un setText();

  4. #4
    Membre averti
    Profil pro
    Developpeur
    Inscrit en
    Novembre 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : Novembre 2005
    Messages : 42
    Par défaut
    Bonjour,

    Tout d'abord merci pour vos réponses. Grâce à elle j'ai pu effectuer des recherches. Et j'ai pu obtenir un résultat probant pour l'instant.

    Component[] items;
    items = jPanel1.getComponents();

    for(int ii=0; ii < items.length; ii++)
    {
    System.out.println(items[ii].getName());
    }

    avec ce code, il m'affiche tous les composants se trouvant dans mon JPanel mais ... malheurseuement la fonction setText() n'est pas reconnue !

    Faut il passer par un autre composant avec comme paramètre items[] pour effectuer un setText()

    Merci pour vos prochaines réponses et d'avance une bonne année !!!

  5. #5
    Membre Expert Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Par défaut
    Effectivement, la méthode setText() n'est pas disponible sur le type Component, mais seulement sur certains types dérivés (JLabel, JButton, ...)

  6. #6
    Gfx
    Gfx est déconnecté
    Expert confirmé
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Par défaut
    setText() non, mais setName() oui.

  7. #7
    Membre averti
    Profil pro
    Developpeur
    Inscrit en
    Novembre 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : Novembre 2005
    Messages : 42
    Par défaut
    ouais le setName() existe bien mais je vois pas à quoi il me servirais ... ce que j'aimerais faire c'est que par exemple sur mon JPanel se trouve un lable nommé Label01. Ce composant est trouvé grâce au code cité dans mon dernier post .. mais ensuite dès que j'ai trouvé l'élément j'aimerais lui afficher un texte différent ... avec la méthode setText() en codant normalement...

    Je sais pas si la méthode la plus simple ...

  8. #8
    Gfx
    Gfx est déconnecté
    Expert confirmé
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Par défaut
    Ah ben tu peux utiliser la reflexion pour ca. Tu regardes si la methode setText() existe sur le composant et si oui, tu l'invoques.

  9. #9
    Membre averti
    Profil pro
    Developpeur
    Inscrit en
    Novembre 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : Novembre 2005
    Messages : 42
    Par défaut
    Le seul problème c'est que j'ai mis un simple textField pour commencer et je n'arrive jamais à avoir la méthode setText() disponible ... !

    C'est comme s'il me fallait pas un autre moyen ... car j'arrive à faire un setBackground(Color.red)

    Je sais pas plus comment m'y prendre :-(

  10. #10
    Membre Expert Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Par défaut
    Citation Envoyé par thesmall
    Le seul problème c'est que j'ai mis un simple textField pour commencer et je n'arrive jamais à avoir la méthode setText() disponible ... !

    C'est comme s'il me fallait pas un autre moyen ... car j'arrive à faire un setBackground(Color.red)
    setBackground() est une méthode de Component, contrairement à setText().
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Component[] items = jPanel1.getComponents(); 
     
    for(int ii=0; ii < items.length; ii++) {
       if (items[ii] instanceof JTextField) {
          ((JTextField) items[ii]).setText("texte");
       }
    }

  11. #11
    Membre éprouvé Avatar de yakanet
    Homme Profil pro
    Inscrit en
    Décembre 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations forums :
    Inscription : Décembre 2005
    Messages : 137
    Par défaut
    Cela n'a peut etre rien a voir, mais j'ai lu qu'il était possible de créer des fenetre graphiques java à partir d'un fichier xml (A explorer si cela t'interesse)

  12. #12
    Membre averti
    Profil pro
    Developpeur
    Inscrit en
    Novembre 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : Novembre 2005
    Messages : 42
    Par défaut
    Merci beaucoup herve91 !

    Je vous souhaite une bonne fin d'année 2005 et un bon début 2006 !!

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

Discussions similaires

  1. parcourir sqldatasource en code Behind
    Par tijani dans le forum VB.NET
    Réponses: 5
    Dernier message: 16/03/2010, 11h39
  2. copier/coller des composants avec code.
    Par youhibadelphi dans le forum Débuter
    Réponses: 2
    Dernier message: 15/03/2010, 12h40
  3. Composer les code IF/OR
    Par RMA1969 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/02/2010, 17h21
  4. composant builder4 pour afficher du code html
    Par BranRuz dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/09/2002, 11h35

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