Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
slam4:gui:jfacebinding [2013/03/28 01:21] – [2.2- Définition du binding] jcheron | slam4:gui:jfacebinding [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 9: | Ligne 9: | ||
<sxh java; | <sxh java; | ||
- | public abstract class AbstractModelObject | + | public abstract class AbstractModel |
private final PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport( | private final PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport( | ||
this); | this); | ||
Ligne 46: | Ligne 46: | ||
* Appeler **firePropertyChange** sur la modification de ses membres | * Appeler **firePropertyChange** sur la modification de ses membres | ||
<sxh java; | <sxh java; | ||
- | public class Utilisateur extends | + | public class Utilisateur extends |
private String nom; | private String nom; | ||
private int age; | private int age; | ||
Ligne 98: | Ligne 98: | ||
===== -- Création d'une vue ===== | ===== -- Création d'une vue ===== | ||
- | Créer la classe FormUtilisateur, | + | |
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
{{: | {{: | ||
- | |||
==== -- Implémentation du code ==== | ==== -- Implémentation du code ==== | ||
+ | < | ||
<sxh java; | <sxh java; | ||
btnNewButton.addSelectionListener(new SelectionAdapter() { | btnNewButton.addSelectionListener(new SelectionAdapter() { | ||
Ligne 123: | Ligne 126: | ||
</ | </ | ||
==== -- Définition du binding ==== | ==== -- Définition du binding ==== | ||
+ | < | ||
{{: | {{: | ||
Ligne 144: | Ligne 147: | ||
- | Tester l' | + | < |
+ | |||
+ | ===== -- Binding sur listes d' | ||
+ | |||
+ | ==== -- création du model ==== | ||
+ | |||
+ | < | ||
+ | |||
+ | <sxh java; | ||
+ | public class Utilisateurs extends AbstractModel { | ||
+ | private final List< | ||
+ | |||
+ | public void add(Utilisateur utilisateur) { | ||
+ | items.add(utilisateur); | ||
+ | firePropertyChange(" | ||
+ | } | ||
+ | |||
+ | public void remove(Utilisateur utilisateur) { | ||
+ | items.remove(utilisateur); | ||
+ | firePropertyChange(" | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * @return the items | ||
+ | */ | ||
+ | public List< | ||
+ | return items; | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ==== -- Modification de la vue ==== | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ==== -- Implémentation du comportement ==== | ||
+ | < | ||
+ | <sxh java; | ||
+ | btnAjouter.addSelectionListener(new SelectionAdapter() { | ||
+ | @Override | ||
+ | public void widgetSelected(SelectionEvent e) { | ||
+ | users.add(new Utilisateur(textName.getText(), | ||
+ | } | ||
+ | }); | ||
+ | </ | ||
+ | |||
+ | <sxh java; | ||
+ | btnSupprimer.addSelectionListener(new SelectionAdapter() { | ||
+ | @Override | ||
+ | public void widgetSelected(SelectionEvent e) { | ||
+ | IStructuredSelection selection = (IStructuredSelection) listViewer.getSelection(); | ||
+ | if (selection != null) | ||
+ | for (Iterator it = selection.iterator(); | ||
+ | Utilisateur aUser = (Utilisateur) it.next(); | ||
+ | users.remove(aUser); | ||
+ | } | ||
+ | } | ||
+ | }); | ||
+ | </ | ||
+ | ==== -- Ajout du binding ==== | ||
+ | < | ||
+ | {{: | ||
+ | |||
+ | < | ||