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.1- Implémentation du code] 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 142: | Ligne 145: | ||
| } | } | ||
| </ | </ | ||
| + | |||
| + | |||
| + | < | ||
| + | |||
| + | ===== -- 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 ==== | ||
| + | < | ||
| + | {{: | ||
| + | |||
| + | < | ||
| + | |||