Comment organiser son code

a marqué ce sujet comme résolu.

Bonjour,
Je me suis dernièrement mit à JavaFx. Tous les tutoriels explique JavaFx en faisant tout dans la classe Main, ou alors une classe externe Controller. J'aimerais savoir comment ça se passe si on a plusieurs controllers ? Faut-il hériter de la classe Scene pour créer des scènes et ensuite les ajouter au Stage comme on veut ?

Merci de vos réponses. :)

La pratique recommandée pour un projet JavaFX reste le modèle MVC (c'est celui qui est plus ou moins appliqué sur Zest Writer par exemple).

Idéalement,

  • Une zone graphique (fenêtre, morceau d'une fenêtre) =
    • une vue (fxml de préférence qui sera modifiée a coup de css)
    • un controlleur qui rassemble les actions sur ta fenêtre (refresh d'une zone, clic sur bouton, etc.)

En dessous des controlleurs tu peux manipuler un ou plusieurs modèles en fonction de tes besoins.

Donc tu ne peux pas avoir plusieurs controlleurs liés à une seule zone graphique. Si tu as une fenêtre qui contient une sidebar, une topbar et une zone centrale, tu fera de chacune de ces zones un vue + controlleur. Ta classe main se chargera d'assembler les 3 composants au sein de la même fenêtre.

Si tu veux plus d'explication, ou si tu as un code à montrer n'hésites pas.

Enfaite j'aimerais faire une fenêtre qui contienne une liste d'objets (représenté par des identifiants (strings)) que l'utilisateur peut sélectionner et afficher les détails dans une zone à côté.

J'ai donc un objet ListView<String> qui représentera la liste des identifiants (le ListView est bien dans le fxml) et différents TextField qui vont afficher les différentes données liées à l'objet. Comment est-ce que j'affiche ma scene dans le stage ? Parce qu'il va bien falloir que je donne à ma ListView la liste des identifiants de mes objets à un moment, faut-il que je passe par un setter ? Et est-ce que ListView peut prendre les objets directement et utilisera ainsi la méthode toString() définie dedans ?

Merci pour ton aide !

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte