Question

Je viens d'emménager dans java (de AS3) et je comprends la syntaxe et toutes les bases, mais je ne peux pas trouver des tutoriels ou des livres sur l'architecture du programme de base.

Par exemple,

ObjectA has a property: ObjectB. 
ObjectB has a property: x
ObjectB.x changes at some point. 

Comment puis-je avoir un objet « attraper » ou « crochet dans » ou « écouter » le changement de ObjectB.x?

Dans AS3, je ferais ObjectB un événement Dispatcher et ont ObjectA écouter un événement personnalisé.

Ou dans le Flex Framework je ferais un ChangeWatcher.

Comment cela se fait en Java et où puis-je trouver ces bases architectual?

Était-ce utile?

La solution

Consultez la spécification JavaBeans, il comprend des lignes directrices sur la façon de créer des événements et des auditeurs afin qu'ils se conforment à la norme (il a été standardisé, car Sun pensait qu'il y allait avoir un marché Delphi comme dans les widgets GUI qui n'a jamais eu lieu, mais il ne fait pas mal d'avoir un moyen standard de faire les choses). Voici un tutoriel sur l'écriture des écouteurs d'événement.

Autres conseils

Si vous avez vraiment besoin, vous pouvez créer un événement et écouter.

Dans la méthode ObjectB.setX(), vous pouvez tirer votre événement pour laisser ObjectA connaître la valeur a été modifiée.

Voici un article qui décrit comment le faire: http://www.javaworld.com/javaqa/2000-08/01-qa-0804-events.html

Mais je ne suis pas sûr que je le ferais de cette façon. Dans mon ObjectB.setX(), je chercherais un parent ObjectA, et si elle existe, utilisez une fonction définie sur ObjectA.

Vous voudrez peut-être regarder observateur

Dans Java monde de haricot, modèle d'observateur est implémenté en utilisant java fournit un bon exemple . Ignorer l'interface graphique Java Bean partie et de se concentrer sur le code.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top