2012-10-29 4 views
2

J'ai un composant personnalisé JavaFX-2 écrit dans la langue fxml (que je référencerai comme enfant ou enfants), que j'ai utilisé pour le créer JavaFX Scene Builder. Une de mes classes d'affichage doit afficher plusieurs (~ 100) de ces composants et communiquer avec eux. Avec l'architecture MVC à l'esprit, quelle est la meilleure approche pour la communication?Approche MVC correcte pour la communication entre les classes d'un composant personnalisé dans JavaFX 2

  1. (Container) Modèle -> (Enfants) Modèle
  2. (Container) Contrôleur -> (Enfants) Contrôleur
  3. (Container) Contrôleur -> (Enfants) Modèle

Fondamentalement, je besoin au moins d'être en mesure de surveiller 2 cas d'événements qui se passe dans l'interface utilisateur enfants et ou dans l'objet conteneur.

Cas 1: L'utilisateur a cliqué sur un bouton (ou a interagi avec un autre objet) qui existe dans mon composant personnalisé (enfant), le conteneur doit communiquer sur le changement.

Cas 2: L'utilisateur a déclenché un événement sur le conteneur, en filtrant les composants en fonction d'une requête spécifique, par exemple, j'ai besoin de communiquer aux enfants ce changement.

Merci d'avance pour toute l'aide. Bravo

Répondre

1

J'ai toujours tendance à garder la communication entre les contrôleurs, alors que mes modèles sont des POJO bien qu'ils utilisent des propriétés javafx pour stocker des données. Cela semble correspondre à l'option # 2.

Il est assez facile pour le contrôleur parent d'appeler le contrôleur enfant, tout ce qu'il a à faire est de les charger et de les conserver dans une liste. L'enfant appelant le parent est un peu plus laid car il peut nécessiter une référence au parent. J'essaie d'éviter ceci en ayant une propriété de gestionnaire d'événements sur le contrôleur enfant auquel le parent ajoute un écouteur. Cela a rendu mes contrôles enfants assez réutilisables.

+0

Oui, l'utilisation du contrôleur vers le contrôleur semble être la bonne approche. Merci beaucoup –

Questions connexes