IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaFX Discussion :

Gestion des controllers des fichiers FXML et passage de paramètres


Sujet :

JavaFX

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Août 2017
    Messages : 20
    Points : 18
    Points
    18
    Par défaut Gestion des controllers des fichiers FXML et passage de paramètres
    Bonjour à tous,

    Je travaille actuellement sur un logiciel de gestion de personnel en JavaFx (pour lequel je débute) comprenant une base de données et en utilisant des fichiers FXML (et SceneBuilder).
    Au lancement du logiciel, j'initialise et remplis une liste de personne à l'aide de requêtes SQL sur ma base de données avec JDBC.
    L'unique fenêtre comprends un TabPane avec de nombreux onglets (Tab) correspondant à des vues différentes du personnel.

    Je voudrais accéder à la liste de personne dans tous les onglets mais je ne sais pas comment faire, pour l'avoir en attribut des "controllers des onglets" (1 fichier FXML et 1 controller par onglet).
    -Comment passer en paramètre cette liste de personne aux controllers fils ? Y a t il une autre solution propre à JavaFx ?
    -Dois je bien déclarer les controllers des onglets dans les fichiers FXML ?
    -Est il correct d'utiliser fx:include dans ce cas la ? Si non, comment insérer le contenu de mes onglets en utilisant "load" ?

    J'espère avoir été compréhensible et clair.
    Merci à ceux qui prendront le temps de me lire et de me répondre!
    Bakamii.

    Le fichier FXML de la fenêtre principale qui peut aider à comprendre ce que j'ai déjà fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <AnchorPane  xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="controller.MainController">
       <children>
          <TabPane>
            <tabs>
     
              <Tab closable="false" text="Tab 1">
                	<content>
                      	<fx:include fx:id="tab1" source="tab1.fxml"/> 
                	</content>
              </Tab>
     
              <Tab closable="false" text="Tab 2">
                   <content>
                      	<fx:include fx:id="tab2" source="tab2.fxml"/>
                   </content>
              </Tab>
     
            </tabs>
          </TabPane>
       </children>
    </AnchorPane>

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Il te suffit de rajouter dans tous tes contrôleurs un truc dans le genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    private final ReadOnlyListWrapper<Person> personnel = new ReadOnlyListWrapper(this, "personnel");
     
    public final set setPersonnel(final ObservedList<Person> value) {
        personnel.set(value);
    }
     
    public final ReadOnlyListProperty<Person> personnelProperty() {
        return personnel.getReadOnlyProperty();
    }
    et de partager la liste observable que tu as chargée depuis ta BD entre tous tes contrôleurs.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Août 2017
    Messages : 20
    Points : 18
    Points
    18
    Par défaut
    Merci pour votre réponse elle m'a donné l'indice qui me manquait pour réaliser ce que je souhaitais faire.

    Bakamii.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 30/06/2009, 19h16
  2. Réponses: 14
    Dernier message: 20/11/2007, 18h28
  3. [2.0] Renommage des ID des controls
    Par Louis-Guillaume Morand dans le forum ASP.NET
    Réponses: 6
    Dernier message: 17/10/2007, 15h22
  4. Remplacer des , par des ; sur un fichier existant.
    Par bjibjat dans le forum VBScript
    Réponses: 12
    Dernier message: 03/10/2007, 10h57
  5. Gestion des majuscules des miniscules des accent
    Par issam16 dans le forum Access
    Réponses: 2
    Dernier message: 13/07/2006, 14h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo