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

avec Java Discussion :

Récupérer le nom de la variable JTextField


Sujet :

avec Java

  1. #1
    Candidat au Club
    Femme Profil pro
    Inscrit en
    Mai 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Mai 2011
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Récupérer le nom de la variable JTextField
    Bonjour,
    je voudrai savoir comment récupérer le nom de la variable JTextField et la mettre dans une liste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    //exemple de déclaration des variables 
    JTextField parite1 = new JTextFieled (); 
    JTextField parite2 = new JTextFieled (); 
    JTextField parite3 = new JTextFieled (); 
    JTextField parite4 = new JTextFieled (); 
    JTextField parite5 = new JTextFieled (); 
    JTextField parite6 = new JTextFieled ();
    je veux avoir une liste qui contient les noms des variables de type Jtextfiled seulement.
    Ma_liste= Partie1, partie2, partie3, partie4, partie5, partie6

    et puis faire parcourir cette liste pour chercher les lignes qui contiennent setBounds ==>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	parite1.setBounds(new Rectangle(130, 264, 211, 11));
    	parite2.setBounds(new Rectangle(130, 264, 211, 11));
    	parite3.setBounds(new Rectangle(130, 264, 211, 11));
    	parite4.setBounds(new Rectangle(130, 264, 211, 11));
    	parite5.setBounds(new Rectangle(130, 264, 211, 11));
    	parite6.setBounds(new Rectangle(130, 264, 211, 11));
    pour que je puisse effectuer mes modifications sur l'hauteur de ces lignes de setBounds

    Merci
    J'attend votre aide

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 133
    Points : 109
    Points
    109
    Par défaut
    Tu peux choper tous les composants de ta frame avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Component[] lesComponents = this.getComponents();
    Ensuite tu boucles dessus et tu récupères les noms de tes composants.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    List lesNoms = new ArrayList<String>();
    for(Component comp : lesComponents){
    if(comp instanceof JTextField){
        lesNoms.add(comp.getName());
    }

  3. #3
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

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

    Informations forums :
    Inscription : Août 2006
    Messages : 4 075
    Points : 7 981
    Points
    7 981
    Par défaut
    Tiens c'est curieux ca ressemble à ce sujet : http://www.developpez.net/forums/d13...igne-modifier/ me tromps-je ?
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Candidat au Club
    Femme Profil pro
    Inscrit en
    Mai 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Mai 2011
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    merci beaucoup pour votre réponse

    voila ou je me suis arrivée , je suis entrain de parser un fichier .
    et cette partie normalement va mettre les noms des variables dans une liste
    parcourir la liste pour chercher les variables.SetBounds puis remplacer la chaîne parite1.setBounds(new Rectangle(130, 228, 211, 17)); par parite.setBounds(new Rectangle(130, 228, 211, 20));
    tout en gardant " parite1.setBounds(new Rectangle(130, 228, 211,"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    JTextfield jtf = null;
    double height= 20;
     
    ArrayList<String> lesNoms = new ArrayList<String>();
    if (line.contains("JTextField")) { 
    lesNoms.add(line.getName()); //voila le message d'erreur a ce niveau =>The method getName() is undefined for the type String
     
     
     for(int i=0; i<lesNoms.size(); i++)
    	   {
    		   if(line.contains(lesNoms[i]+"."+"SetBounds")) {
    			 line = line.replace(lesNoms[i]+"."+"setBounds(new Rectangle("*","*" ,"*","*")),"lesNoms[i]+"."+"setBounds(new Rectangle("+*+","+*+" ,"+*+","+20+")"); 
    		   }
    // ici j ai mis + pour concaténer les chaines et * pour garder les mes memes valeurs mais ça ne marche pas
    Pouvez vous me guider ?

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 133
    Points : 109
    Points
    109
    Par défaut
    Mais là ton SetBounds c'est une chaîne de caractère ...
    Si ton but est de récupérer le JtextField et de changer ses dimensions, vaut mieux faire une liste de JTextField et de changer dynamiquement celui que tu veux.

  6. #6
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

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

    Informations forums :
    Inscription : Août 2006
    Messages : 4 075
    Points : 7 981
    Points
    7 981
    Par défaut
    Je rejoins les avis de Neewd.

    Pourquoi veux-tu absolument modifier le code source du programme de cette manière je n'en comprends pas l'intérêt. Si ce n'est se compliquer la vie pour rien
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Candidat au Club
    Femme Profil pro
    Inscrit en
    Mai 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Mai 2011
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Re
    la modification des dimensions de Jtextfeild se fait au niveau de nom_JTextFiled.SetBounds(new rectangle(x,y,w,h) et c est pour cela que je suis entrain de travailler sur SetBounds.
    je travaille sur un code déjà existant et qui contient plusque 2000 classes je dois changer la hauteur de tout les JtextField
    les classes sont sous cette forme =>
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     Classe {
          Partie de déclaration 
    
          Partie de traitement 
    }
    j' ai pensé à faire:
    1)lire le fichier ligne par ligne
    2)chercher les lignes qui comportent les JTextfiled
    3)récupérer les noms des variables dans une liste( car SetBounds utilise le nom de la variable parite1.setBounds(new Rectangle(130, 228, 211, 19));
    4)parcourir la liste des noms pour y arriver à Setbouds pour changer la hauteur de la variable
    si vous pouvez m'aider à corriger mon code oui bien me guider pour que je puisse corriger le code

  8. #8
    Membre confirmé Avatar de billynirvana
    Homme Profil pro
    Architecte technique
    Inscrit en
    Décembre 2004
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 472
    Points : 552
    Points
    552
    Par défaut
    Ouvre ton code dans éclipse et cherche les occurences de "setBounds(new Rectangle(" dans tous les fichiers *.java.
    Tu auras toutes les lignes qui t'intéressent.

    Pas besoin de script qui ne marchera probablement pas.

  9. #9
    Candidat au Club
    Femme Profil pro
    Inscrit en
    Mai 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Mai 2011
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    je travail sur un code qui comporte plus-que de 2000 classes et chaque classe comporte minimum 20 champs de texte sans compter les autres composants , j ai besoin d'un utilitaire pour faciliter le travail en plus c est un travail demandé. si j aurai le choix je le ferai manuellement

  10. #10
    Membre régulier
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 133
    Points : 109
    Points
    109
    Par défaut
    Et t'es obligé de faire ça en JAVA ?

  11. #11
    Candidat au Club
    Femme Profil pro
    Inscrit en
    Mai 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Mai 2011
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Merci pour tous, je suis arrivée à une solution

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    			//recupération du nom de composant  JTextField
    			while ((line = reader.readLine()) != null) { // lire la ligne 
    				if (line.contains("new JTextfiled();")) { 
     
    					int indexequal = line.indexOf("=");
    					String inputName = line.substring(14, indexequal - 1);
    }

  12. #12
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

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

    Informations forums :
    Inscription : Août 2006
    Messages : 4 075
    Points : 7 981
    Points
    7 981
    Par défaut
    J'ai dut louper quelque chose... enfin tant mieux que tu aies trouvé ton bonheur.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. VBA Récupérer le nom d'une variable
    Par Contrec dans le forum Général VBA
    Réponses: 16
    Dernier message: 17/03/2009, 13h53
  2. Récupérer le nom d'une variable
    Par hector2 dans le forum Scilab
    Réponses: 8
    Dernier message: 15/10/2008, 16h15
  3. [Tableaux] Récupérer le nom d'une variable
    Par Tchupacabra dans le forum Langage
    Réponses: 4
    Dernier message: 20/05/2008, 17h55
  4. [Tableaux] Récupérer le nom d'une variable
    Par lem dans le forum Langage
    Réponses: 6
    Dernier message: 06/02/2007, 10h21
  5. [try except keyerror] récupérer le nom de la variable
    Par jean-jacques varvenne dans le forum Général Python
    Réponses: 2
    Dernier message: 03/03/2005, 16h59

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