JtextField

fallMed Messages postés 1 Date d'inscription lundi 22 avril 2019 Statut Membre Dernière intervention 22 avril 2019 - Modifié le 23 avril 2019 à 09:48
 Medzfall - 23 avril 2019 à 14:55
Bonjour,
jde dois créer une interface graphique qui doit contenir plus de 100 champs j'arrive a récupérer les données saisies dans chaque champs mais ça prend du temps voici un extrait du code
String indssdmigr1 = indssdmigr.getText();

String nom1 = Nom1.getText();

String nom2 = Nom2.getText();

String nom3 = Nom3.getText();

String nom4 = Nom4.getText();

String nom5 = Nom5.getText();

String nom6 = Nom6.getText();

String nom100 = Nom6.getText();


je voulais créer une boucle qui me permettra de récupérer les données et les afficher au lieu d'écrire tous les champs. merci d'avance

1 réponse

Numeric1 Messages postés 7 Date d'inscription dimanche 10 mars 2019 Statut Membre Dernière intervention 29 avril 2019
23 avril 2019 à 07:17
Salut la façons la plus simple c'est de créer ta propre classe dérivée de JtextField. Tu pourras cependant y ajouter quelques méthodes pratiques.

import java.util.ArrayList;

import javax.swing.JTextField;

public class MyJTextField extends JTextField{
	
    // Pour enregister automatiquement les instances JTextfield céees 
	protected ArrayList<MyJTextField> list = new ArrayList<>();
     
	//Choix d'un constructeur approprié
     public MyJTextField() {
    	 super();
    	 
    	 // Ajout de l'instance à la liste de stockage
    	 list.add(this);
     }
     
     /**
      *  Methode rétournant un ArrayList comportant tous les text de jtextfield
      *  A noter qu'il ya peut être des JTextfield sans text
      *  Tu peux Filtrer l'ajout des text ou pas selon tes besoins
      */
     public ArrayList<String> getTextAll() {
          ArrayList<String> al = new ArrayList<>();
          
          
    	 list.stream().forEach((t)->{
    		 al.add(t.getText());
    		
    		 System.out.println(t.getText());
    	 });
    	 return al;
     }
}

0
Merci je suis entrain de le refaire
0