Communication entre deux formulaires liés
Bonsoir à tous, quelqu'un pourrait-il me dire pourquoi je n'arrive pas à renseigner le champ txtCodeEnf du formulaire ActeNaissSuite par la valeur TxtCodeActe du formulaire "FormANaiss" de depuis lui?
Code du formulaire FormANaiss
Code:
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
| public final class FormANaiss extends javax.swing.JFrame {
private javax.swing.JTextField TxtCodeActe;
private ActeNaissSuite suite = new ActeNaissSuite(this); // instance du formulaire ActeNaissSuite
public FormANaiss() {
initComponents();
}
private void cmdSuiteActionPerformed(java.awt.event.ActionEvent evt) {
suite.setVisible(true);
suite.setTxtCodeEnf(getTxtCodeActe());/* je veux remplir le champ txtCodeEnf de ActeNaissSuite à partir de ce formulaire par le bouton suite,mais pas moyen.j'ai l'impression qu'il ne sais pas communiqué avec ActeNaissSuite */
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
new FormANaiss().setVisible(true);
}
});
}
public String getTxtCodeActe() {
return TxtCodeActe.getText().trim();
}
} |
code du formulaire ActeNaissSuite
Code:
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
| public class ActeNaissSuite extends javax.swing.JFrame {
private FormANaiss frmANaiss;// instance de FormANaiss
private String txtCodeEnf;
public ActeNaissSuite(FormANaiss frmANaiss) {
this.frmANaiss = frmANaiss;
initComponents();
}
private void CmdPcdtActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
frmANaiss.setVisible(true);// Appel du formulaire FormANaiss
}
public void setTxtCodeEnf (String txtCodeEnf) { // accesseur que j'utilise dans FormANaiss pour remplir champ txtCodeEnf
this.txtCodeEnf = txtCodeEnf;
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
FormANaiss frmNaiss= new FormANaiss();
new ActeNaissSuite(frmNaiss).setVisible(true);
}
});
}
} |
Communication entre deux formulaires liés
Bonjour Joel.Drigo,j'ai pas très bien compris,voulez vous dire que mon programme crée deux instances de AcetNaissSuite ? Et c'est parce qu 'il y a deux instances que je n'arrive pas à affecter depuis le formulaire FormActeNaiss la valeur du champ txtCodeEnf dans le champ TxtCodeActe de ActeNaissSuite?
Autrement comment dois-je procédé? l'idée était de pouvoir naviguer entre les deux au moyen des boutons. Du Formulaire "FormANaiss" le click sur le bouton "CmdSuite" appele le formulaire "ActeNaissSuite" et le bouton "CmdPcdt" du formulaire "ActeNaissSuite" affiche la même instance de "FormActeNaiss".Ce que fait déjà bien mon code, mais j'arrive pas en renseigner le champ TxtCodeActe en même temps que je le formulaire ActeNaissSuite appelle.
Communication entre deux formulaires liés
je me demande si ce n'est pas la méthode setTxtCodeEnf () qui me joue des tours. Comment lui dire d'affecter la valeur de la Methode à mon JTextField?
p
Code:
1 2 3 4 5 6 7 8 9
| ublic class ActeNaissSuite extends javax.swing.JFrame {
private FormANaiss frmANaiss;// instance de FormANaiss
private String txtCodeEnf;
public void setTxtCodeEnf (String txtCodeEnf) { // ici la méthode prend en paramétre uns String.
this.txtCodeEnf = txtCodeEnf;
}
} |
dans FormANaiss
Code:
1 2 3 4 5 6 7 8 9
| public final class FormANaiss extends javax.swing.JFrame {
private javax.swing.JTextField TxtCodeActe;
private ActeNaissSuite suite = new ActeNaissSuite(this);
private void cmdSuiteActionPerformed(java.awt.event.ActionEvent evt) {
suite.setVisible(true);
suite.setTxtCodeEnf(getTxtCodeActe());/*en faisant ainsi,je me demande bien comment la méthode setTxtCodeEnf() sait qu'il s'agit du champ TxtCodeEnf de ActeNaisssuite que je veux remplir ?*/
}
} |
Communication entre deux formulaires liés
C'est exactement ça, désolé de ne t'avoir pas fait voir le JTexfield en question. Comme tu me comprends maitenant,comment pourrais-je modifier la valeur TxtCodeEnf de mon formualire ActeNaissSuite depuis FormANaiss? dois-je modifier ma méthode setTxtCodeEnf ()?
Les propriétés de ActeNaissSuite étant privée je ne peux faire
Code:
Suite. TxtCodeEnf. setTxtCodeEnf (getTxtCodeActe ());
pour préciser que c'est la valeur de TxtCodeEnf que je souhaite modifier.