bireumdione
Messages postés14Date d'inscriptionsamedi 19 août 2006StatutMembreDernière intervention11 novembre 2020
-
11 nov. 2020 à 15:18
Twinuts
Messages postés5374Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention 3 mars 2023
-
18 janv. 2021 à 11:59
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.
Twinuts
Messages postés5374Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention 3 mars 2023111 18 janv. 2021 à 11:59
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.