Java inreraction entre deux jframes

Signaler
Messages postés
14
Date d'inscription
samedi 19 août 2006
Statut
Membre
Dernière intervention
11 novembre 2020
-
Messages postés
5361
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
11 mars 2021
-
Bonjour ,
je sollicite votre aide pour un problème de communication entre deux jframes parent jFparent et fille jFfille:
je possède deux Jframes


Quand on clique sur une ligne dans la jtable dans la jframe jFparent une jframe jFfille apparait avec les informations dans la ligne sélectionnée pour mis ajour ou suppression.
Sinon si on clique sur le bouton ajouter cette meme jframe jFfille apparait mais vide pour insertion nouvelle donnée dans la tabe mysql carrière affichée dans la jtable jTcarriere dans jFparent.

est_il possible que dés que j'enregistre avec le bouton ajouter dans la jframe jFfille cela se répercute dans le jtable qui se trouve derrière dans la jframe jFparent.
Donc faire apparaitre systématiquement les donnée ajoutées dans la jFrame mère sans être obligé de fermer la jFfille.
Cela permettra si on a une liste de données (carrière) a inscrire de savoir si les donnés sont prise en compte et à quel niveau on est.

Merci d'avance


--

1 réponse

Messages postés
5361
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
11 mars 2021
108
Salut,

Tu peux:
- Utiliser un système de listener proposé par jFfille et implémenté par jFparent.
public interface  RefreshTable
{
   void addEntry(...);
}
...
public jFparent implements RefreshTable
{
  ...
  public void foo()
  {
    // Affichage de la fenetre dans la méthode de ton choix
    new jFfille(..., this, ...).setVisible(true);
  }
  ...
  public void addEntry(...)
  {
    // ajout dans la table
  }
  ...
}  
  ...
public  class jFfille
{
  ...
  private final RefreshTable m_RefreshTable;
  ...
  public jFfille(...RefreshTable  refreshTable...)
  {
    ...
    m_RefreshTable = refreshTable;
    ...
  }
  ...
  private void foo()
  {
    ...
    // utilisation dans la méthode de ton choix
    m_RefreshTable.addEntry(....);
    ...
  }
  ...
}



- Faire un getter du jtable/model dans jFparent, passer la ref de jFparent dans jFfille et exploiter/refresh la table au moment de l'insertion:
public jFparent 
{
  ...
  private JTable m_tbl;
  ...
  public JTable getTable()
  {
    return m_tbl;
  }
}  

public  class jFfille
{
  ...
  private final jFparent m_parent;
  ...
  public jFfille(...jFparent parent...)
  {
    ...
    m_parent = parent;
    ...
  }
  ...
  private void foo()
  {
    ...
    // utilisation dans la méthode de ton choix
    //m_parent.getTable();
    ...
  }
  ...
}


- Passer la ref du jtable/model dans jFfille et exploiter/refresh la table au moment de l'insertion.
public  class jFfille
{
  ...
  private final JTable m_tbl;
  ...
  public jFfille(...JTable tbl...)
  {
    ...
    m_tlb = tbl;
    ...
  }
  ...
}


Dans les exemples plus haut, je passe par le constructeur, mais ce n'est qu'un exemple, rien est écrit dans le marbre, tu peux faire comme tu veux.