2009-02-16 8 views
0

Quelle est la manière la plus simple de créer une applet qui a une vue avec des composants liés aux données de modèle et qui est mise à jour lors de la mise à jour du modèle?Java Applet - MVC - Comment lier le modèle à afficher?

Idéalement le moins de code ne peut, de préférence/déclarative :)

Si est nécessaire pour expliquer un type de composant, s'il vous plaît envisager un JLabel dont le texte est lié à un haricot avec un accesseur chaîne getText() - mais si c'est tout bête, donnez-moi un meilleur exemple!

Merci!

Répondre

1

La première chose qui vient à l'esprit serait d'enregistrer un PropertyChangeListener sur le bean qui met à jour le texte de l'étiquette dans sa méthode propertyChange. C'est la manière habituelle de lier des modèles et des vues, ajouter un écouteur au modèle qui met à jour la vue sur tous les changements pertinents.

1

Je suggère d'éviter PropertyChangeEvent de quoi que ce soit et Beanish. Créez des modèles à grain fin: par exemple, un modèle représentant un texte (Document difficile à utiliser et poids lourd, mais vous pouvez utiliser des adaptateurs). Vous devrez également pouvoir modéliser des contraintes (bornes entières par exemple) et des modèles dérivés. Vos «vraies» entreprises peuvent alors être composites, sans setters ni gestion d'événements. Évitez de dupliquer les données dans le modèle.

Avec des modèles simples disponibles, le câblage aux composants est facile. Par exemple, pour créer une étiquette connectée à un modèle de texte, utilisez une méthode usine qui prend le modèle de texte et renvoie une nouvelle connexion filaire JLabel.