salut tout le monde;
je suis en train d implémenter une interface graphique qui permet l ajout d un enregistrement dans un fichier ressemblant a une petite base de donnée. Et je ne peut connaitre exactement le nombre je jtextfield qu au moment de l ' exécution puisque la fenetre est généré dynamiquement. Mon Probème est j arrive pas à extraire les informations se trouvant dans les jtextfields en question. Et pour mieux comprendre le problème je joint mon code.
Merci pour votre attention
Aidez moi svp
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
 
public class FrameAdaptable extends JFrame {
ClassModel cM;
Vector txt=new Vector();
//************************* le constructeur***************************************************
    public FrameAdaptable(ClassModel c){
    cM = c;
    try{
      jbInit();
    }
    catch(Exception ex){
      ex.printStackTrace();
    }
    }
   //**************************************   la methode jbInit********************************
    void jbInit() throws Exception{
     this.setTitle(cM.getService()+" "+cM.getMainObject().getClassName());
     this.setSize(600,700);
      JPanel cc =(JPanel) this.getContentPane();
     cc.setLayout(new XYLayout());
     //************   les components
      int x=35;
      int y=44;
      int i=79;
      int j=77;
      // ces deux vecteurs sont crées pour l'action event
      //Vector txt=new Vector();
      Vector btn=new Vector();
      int p=0;
      //*********************************************
     Set entrees=cM.getViewFormat().getC().entrySet();
      Iterator iterateur =entrees.iterator();
      while(iterateur.hasNext())
      {
        Map.Entry entree =(Map.Entry) iterateur.next();
        JTextField tx =new JTextField(" ");
        tx.setEditable(true);
        tx.setAutoscrolls(true);
        tx.setSelectionStart(11);
        // l ajout des textField
        txt.add(tx);
        JLabel lab=new JLabel(entree.getKey().toString());
        cc.add(lab, new XYConstraints(35,i, 119, 30));
        i+=y;
        cc.add(tx,new XYConstraints(181, j, 132, 27));
        j+=y;
 
      }// fin de while
  j+=x;
  //**********  les actions
  int k=0;
   Set ent=cM.getViewFormat().getAcL().entrySet();
  Iterator iter =ent.iterator();
  while(iter.hasNext())
  {
    Map.Entry entre =(Map.Entry) iter.next();
    JButton jB=new JButton(entre.getKey().toString());
    // l ajout des boutons
    btn.add(jB);
     cc.add(jB,new XYConstraints(70+k ,j,100,27));
     k+=150;
     if(jB.getText().equals("save"))
     {
        jB.addActionListener(new Creation_jButton1_actionAdapter(this));
     }
      else
        if(jB.getText().equals("cancel"))
        {
           jB.addActionListener(new Creation_jButton2_actionAdapter(this));
        }
        else
           jB.addActionListener(new Creation_jButton3_actionAdapter(this));
  }// fin de while
 
        SwingUtilities.updateComponentTreeUI(this);
        this.setVisible(true);
 
      }// fin de jbInit
 
public void ajoutEnreg(Vector txt)
{ String s=null;
   File f=new File("C:\\JBuilderX\\"+cM.getMainObject().getClassName()+"txt");
   System.out.println(txt.size());
  for (int i=0;i<txt.size();i++)
  {
   JTextField tt=(JTextField)txt.elementAt(i);
   s+=tt.getText().toString();
   s+="#";
  }
  s=s.substring(s.length()-1);
  s+="\n";
  try
  {
     FileWriter fW = new FileWriter(f, true);
     fW.write(s);
     System.out.println(s);
     fW.close();
  }
  catch (IOException ex) {
          ex.printStackTrace();
        }
 
}
      void jButton1_actionPerformed(ActionEvent e){
 
            ajoutEnreg(txt);
 
          }
  /**
   * jButton3_actionPerformed
   *
   * @param e ActionEvent
   */
  void jButton3_actionPerformed(ActionEvent e) {
  }
  /**
   * jButton2_actionPerformed
   *
   * @param e ActionEvent
   */
  void jButton2_actionPerformed(ActionEvent e) {
  }
}
    class Creation_jButton1_actionAdapter implements java.awt.event.ActionListener {
   FrameAdaptable adaptee;
   Creation_jButton1_actionAdapter(FrameAdaptable adaptee) {
     this.adaptee = adaptee;
   }
   public void actionPerformed(ActionEvent e){
       adaptee.jButton1_actionPerformed(e);
 
   }
 }
 class Creation_jButton3_actionAdapter implements java.awt.event.ActionListener {
   FrameAdaptable adaptee;
   Creation_jButton3_actionAdapter(FrameAdaptable adaptee) {
     this.adaptee = adaptee;
   }
   public void actionPerformed(ActionEvent e) {
     adaptee.jButton3_actionPerformed(e);
   }
 }
 class Creation_jButton2_actionAdapter implements java.awt.event.ActionListener {
   FrameAdaptable adaptee;
   Creation_jButton2_actionAdapter(FrameAdaptable adaptee) {
     this.adaptee = adaptee;
   }
   public void actionPerformed(ActionEvent e) {
     adaptee.jButton2_actionPerformed(e);
   }
 }