2010-05-31 4 views
0

J'ai employé le nom Text Field dans le 1er panneau dans le module D. quand je clique sur le bouton générer, le nom de l'employé se met automatiquement à jour dans le panneau d'affichage Employe Name Textfield dans le module E. Donc, dans les deux panneaux, la valeur doit être la même. comment puis-je obtenir la valeur du module D et mettre à jour dans le module E en utilisant Java Swing.Comment obtenir la valeur du 1er panneau et insérer dans le 2ème panneau dans Java Swing

+0

Vous pourriez publier un court, autonome, correct (compilable), exemple (sscce) qui illustre le problème. http://sscce.org/ – trashgod

Répondre

1

Swing repose fortement sur le modèle Obeserver. Vous pouvez utiliser ce modèle pour aider votre module E à savoir quand le bouton Générer est cliqué.

Si votre module E fait référence à votre module D, vous pouvez ajouter E comme ActionListener au bouton de génération. Vous pouvez ensuite extraire le texte du module D lorsque l'action est déclenchée. Une approche de force brute est décrite ci-dessous:

public class DModule { 
    private JButton genButton = new JButton("generate"); 
    private JTextField empNameTF = new JTextField();  

    // ---more code --- 


    public void addGenButtonListener (ActionListener l) { 
      genButton.addActionListener(l); 
    } 

    public String getEmpName() { 
      return empNameTF.getText(); 
    } 
} 


public class EModule implements ActionListener { 
    DModule d = null; 
    JTextField myEmpNameTF = new JTextField(); 

    public EModule (DModule d) { 
      this.d = d; 
      d.addGenButtonListener(this); 
    } 

    // --- more code --- 

    public void actionPerformed(ActionEvent event) { 
      myEmpNameTF.setText(d.getEmpName());  
    } 

} 
+0

merci beaucoup mon pote – charan

+1

@charan - si cela a résolu votre problème, envisagez de marquer cette réponse comme acceptée – Gnoupi

Questions connexes