2016-08-12 1 views
0

C'est mon premier message, donc cela pourrait être peu approprié. J'essaie de développer une application en JavaFX pour retrouver mes compétences en programmation des années passées. J'essaye de créer une application JavaFX composée de plusieurs vues et contrôleurs comme Controller1, View1, Controller2, View2 et ainsi de suite. J'ai également inclus la classe principale pour le processus de démarrage dans mon application. J'essaye de développer cette application de formation avec le modèle de conception de MVC.Comment stocker des données dans l'application javafx

Ma question est: comment stocker des données entre les contrôleurs et les vues? Curently j'ai mes données stockées dans une liste d'objets i.e Événement dans Controller1 (MainwindowController) et puis si je veux faire quelque chose avec cette liste comme ajouter de l'autre nouvel élément de la fenêtre je passe la liste par le constructeur Controller2. J'ai trouvé cela un peu gênant parce que je passe la liste entière entre Controller1 et Controller2 mais je ne veux vraiment pas le faire de cette façon.

Existe-t-il un moyen de stocker des données qui seraient accessibles à tous les contrôleurs dans une instance sans passer entre elles des données sans but? Je sais que c'est une question idiote mais pour moi, c'est assez difficile à comprendre.

Un grand merci à l'avance pour les conseils d'indices :)

+1

Pour utiliser une instance de modèle partagé parmi plusieurs contrôleurs "à la main", voir http://stackoverflow.com/questions/32342864/ Si vous souhaitez automatiser cela, vous devriez penser à utiliser un framework d'injection de dépendances. Les frameworks DI généraux incluent Spring et Guice, qui fonctionnent plutôt bien avec JavaFX; Pour un framework spécifique à JavaFX, jetez un oeil à [afterburner.fx] (http://afterburner.adam-bien.com/). –

+0

Merci beaucoup pour le conseil: D – Icarium

Répondre

0

Si vous utilisez le modèle mvc vos données doivent être dans la couche de modèle et appeler des contrôleurs. Si vos données sont dans la classe du contrôleur et que vous ne voulez pas transmettre toutes les données entre elles, vous pouvez utiliser des membres statiques.

+0

Merci beaucoup pour le conseil: D – Icarium