ben j'ai juste fais mon bean là. Je suppose qu'il est complet. Mais comment je le connecte à mon champs champsPN de mon PanneauAccess concrêtement?
Version imprimable
ben j'ai juste fais mon bean là. Je suppose qu'il est complet. Mais comment je le connecte à mon champs champsPN de mon PanneauAccess concrêtement?
Pour construire l'interface, tu initialises ton bean et tes composants (en passant en paramètre le bean pour le champ de saisie et pour le PanneauStock)
Le champ de saisie lance un SwingWorker qui va effectuer la recherche et quand le boulot est terminé appeler le setter de ton bean.
Le panneau stock ajoute un listener sur la propriété de ton bean, et se met à jour quand il est notifié d'une nouvelle valeur.
PanneauAccess:
PanneauStock: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 public class PanneauAccess extends JPanel { public class ActionEntrerListener implements ActionListener { /* (non-Javadoc) * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) */ @Override public void actionPerformed(ActionEvent evt){ /*monBean.addPropertyChangeListener( new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent event) { System.out.println("propertyChange : valeur = "+ event.getNewValue()); } });*/ if(evt.getSource()==champsPN) { JTextField PN = null; PN = (JTextField)evt.getSource(); uneRecherche = new Recherche(PN.getText()); monBean.setElement(uneRecherche.getElementRecherche()); try { uneRecherche.recherchePN(); premierDevis(); } catch (SQLException e) { e.printStackTrace(); } } }
Je lance mon appli. Elle s'ouvre. Dans la console "element recherché: null" Normal.Code:
1
2
3
4
5
6
7
8
9
10 public class PanneauStock extends JPanel { public PanneauStockCommande() { super(new GridLayout(8, 1)); BeanRecherche monBean = new BeanRecherche(); elementRecherche = monBean.getElement(); System.out.println("element recherché: "+elementRecherche); uneRechercheStockCommande = new RechercheStockCommande(elementRecherche); }
Puis je rentre un numéro ayant des réponses. Plus jamais je n'ai de message dans la console.
Et si possible j'aimerais une explication avec du code (par exemple ce que je dois changer à mon code, ou ajouter).
(on va peut-être éviter de compliquer la solution pour le moment avec le SwingWorker, même si pour bien faire il faut threader la fonction de recherche, mais pour le moment c'est annexe)
Par contre on te dit clairement quoi faire, si tu ne sais pas ce que veux dire ajouter un listener ou modifier une propriété, il va peut-être falloir te renseigner en suivant un tuto sur le sujet => http://rom.developpez.com/java-listeners/ pour les listener, et pour l'histoire des propriétés modifiées... ben un tuto sur l'orienté-objet devrait faire l'affaire ^^
On peut t'aider, mais pas faire l'application à ta place, sois dit sans vouloir t'offenser ;-)