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 :

Changer dynamiquement le contenu de ma fenêtre


Sujet :

JavaFX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 137
    Billets dans le blog
    5
    Par défaut Changer dynamiquement le contenu de ma fenêtre
    Salut à tous

    Je viens de me lancer dans JavaFx et j'ai quelques soucis .
    Je suis sous eclipse et j'ai créer mon application en utilisant SceneBuilder et des fichiers fxml associé avec une classe java. Il s'agit de ma classe principale.
    Par ailleurs j'ai créer une série de "Panel" de la même manière que ma classe principale et en fonction de certaines actions sur la classe principale (comme sélection d'un choix dans le menu) je souhaite afficher dans la partie gauche l'un ou l'autre des "Panel" de la série
    Un tout petit bout de code
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    package application;
     
    import java.net.URL;
    import java.util.ResourceBundle;
     
    import javafx.event.ActionEvent;
    import javafx.fxml.FXML;
     
     
    public class AdGmain {
     
        @FXML
        private ResourceBundle resources;
     
        @FXML
        private URL location;
     
     
        @FXML
        void ChangePhase(ActionEvent event) {
        	//Que dois je faire ici pour afficher le panel que je veux dans la partie gauche de mon interface
        }
     
        @FXML
        void initialize() {
     
     
        }
     
    }
    Si ça peu aider le fichier fxml
    Code XML : 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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
    <?xml version="1.0" encoding="UTF-8"?>
     
    <?import java.lang.*?>
    <?import javafx.scene.control.*?>
    <?import javafx.scene.image.*?>
    <?import javafx.scene.layout.*?>
    <?import javafx.scene.layout.BorderPane?>
     
    <BorderPane xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2" fx:controller="application.AdGmain">
      <!-- TODO Add Nodes -->
      <center>
        <ScrollPane prefHeight="200.0" prefWidth="200.0">
          <content>
            <ImageView fitHeight="770.0" fitWidth="1198.0" pickOnBounds="true" preserveRatio="true">
              <image>
                <Image url="@../../Graph/Fond.jpg" />
              </image>
            </ImageView>
          </content>
        </ScrollPane>
      </center>
      <left>
        <Pane prefHeight="200.0" prefWidth="87.0">
          <children>
            <Label layoutX="0.0" layoutY="100.0" text="La bataille" />
          </children>
        </Pane>
      </left>
      <top>
        <MenuBar id="mainMenu">
          <menus>
            <Menu mnemonicParsing="false" text="File">
              <items>
                <MenuItem mnemonicParsing="false" text="Close" />
              </items>
            </Menu>
            <Menu mnemonicParsing="false" text="Phase">
              <items>
                <MenuItem mnemonicParsing="false" onAction="#ChangePhase" text="Suivant" />
              </items>
            </Menu>
            <Menu mnemonicParsing="false" text="Help">
              <items>
                <MenuItem mnemonicParsing="false" text="About" />
              </items>
            </Menu>
          </menus>
        </MenuBar>
      </top>
    </BorderPane>

  2. #2
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Août 2005
    Messages : 6 901
    Billets dans le blog
    54
    Par défaut
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    [...]
     
    <BorderPane fx:id="rootPane" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2" fx:controller="application.AdGmain">
     
    [...]

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public class AdGmain {
     
    [...]
     
        @FXML
        private BorderPane rootPane; 
     
        @FXML
        void ChangePhase(ActionEvent event) {
          rootPane.setLeft(...);
        }
     
    [...]
    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 émérite
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 137
    Billets dans le blog
    5
    Par défaut
    Merci pour la réponse mais qu'est ce que je met dans
    j'ai essayé ça mais ça ne marche pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    @FXML
        void ChangePhase(ActionEvent event) {
    	BorderPane left;
    	try {
    	    left = (BorderPane)FXMLLoader.load(getClass().getResource("AdGmouvements.fxml"));
    	    rootPane.setLeft(left);
    	} catch (IOException e) {
    	    // TODO Auto-generated catch block
    	    e.printStackTrace();
    	}
     
        }

  4. #4
    Membre émérite
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 137
    Billets dans le blog
    5
    Par défaut Oups
    Rectification ça fonctionne. Je ne sais pas pour quelle raison mais je ne passais pas dans la méthode ChangePhase

  5. #5
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Août 2005
    Messages : 6 901
    Billets dans le blog
    54
    Par défaut
    Étrange, un petit soucis au niveau de la compilation du projet peut-etre...
    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

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

Discussions similaires

  1. Changer le contenu d'une fenêtre (JFrame)
    Par mikadev dans le forum Débuter
    Réponses: 1
    Dernier message: 01/01/2014, 00h27
  2. Réponses: 2
    Dernier message: 22/12/2012, 15h38
  3. Changer dynamiquement le contenu d'une DropDownList
    Par Rogolotoon dans le forum ASP.NET MVC
    Réponses: 5
    Dernier message: 05/09/2011, 15h31
  4. Changer le contenu d'une fenêtre
    Par TrexXx dans le forum Débuter
    Réponses: 3
    Dernier message: 27/05/2009, 08h16
  5. [WD9] Changer le contenu d'une fenêtre interne
    Par oz80 dans le forum WinDev
    Réponses: 2
    Dernier message: 15/12/2005, 15h02

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