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 :

Problème add avec Pane


Sujet :

JavaFX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2015
    Messages
    224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2015
    Messages : 224
    Par défaut Problème add avec Pane
    Bonjour,

    Je suis débutant avec JavaFx. Pourriez-vous me dire ce qui ne va pas dans ce 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
     
    public class MaFenetre { 
            private Stage stage;
     
    	public MaFenetre(Stage stage) { this.stage = stage;
     
    	Pane root = new Pane();
    	Scene scene = new Scene(root,400,400);
    	stage.setTitle("TestPane");
    	Label labelProposition = new Label("Votre proposition : ");
     
    	root.getChildren().add(labelProposition);	
    	stage.setScene(scene); stage.show();
    	}
     
    	public Stage getStage() {
    		return stage;
    	}	
    }
    En fait, j'ai juste une erreur au niveau du add, il me dit qu'il faut le changer en addAll, mais quand je fais ca, il me redit de le changer en add. J'ai cherché sur internet, mais je ne trouve pas mon erreur...

    D'avance merci !

  2. #2
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2010
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2010
    Messages : 212
    Par défaut
    Ton code ne doit pas signaler cette erreur. Pas sur mais vérifier que vous avez bien importer la bonne classe Pane:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    import javafx.scene.layout.Pane;
    .
    une autre remarque (Pas lier à la question)
    Ta classe doit étendre de la classe Application et redéfinir sa méthode start():
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public class MaFenetre extends Application{  
     
     @Override
        public void start(Stage stage) throws Exception {
          	Pane root = new Pane();
            ...
        }
    }

  3. #3
    Membre confirmé
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2015
    Messages
    224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2015
    Messages : 224
    Par défaut
    Bonjour,

    Merci pour la réponse.

    J'avais bien le bon import, donc le problème ne vient pas de là.

    Concernant le " public void start(Stage stage) throws Exception { ", il faut que je le mette à la place de mon " public MaFenetre(Stage stage) { " ?

    Merci.

  4. #4
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2010
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2010
    Messages : 212
    Par défaut
    oui, tout à fait.

    La méthode start() sert à initialiser le contenu de la scène qui sera affichée dans la fenêtre stage. Cette méthode est invoquée sur le JavaFX Application Thread.
    voir FAQ JavaFX

  5. #5
    Membre confirmé
    Homme Profil pro
    Lycéen
    Inscrit en
    Avril 2015
    Messages
    224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Avril 2015
    Messages : 224
    Par défaut
    Désolé, je ne comprends pas trop.
    Il me faut bien 2 classes : l'une que j'appelle Main et l'autre MaFenetre ?
    Dans ma classe Main actuellement j'ai ça :

    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
     
    public class Main extends Application { 
     
    	@Override	 
    public void start(Stage primaryStage) { 
    	try {
    		new MaFenetre(primaryStage); 
    		} catch(Exception e) {
    			e.printStackTrace();
    		} 
    	}
     
    	public static void main(String[] args) { 
    		launch(args);
    	}
    }
    et dans ma classe MaFenetre j'ai ça :

    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
     
    public class MaFenetre { 
            private Stage stage;
     
    	public MaFenetre(Stage stage) { this.stage = stage;
     
    	Pane root = new Pane();
    	Scene scene = new Scene(root,400,400);
    	stage.setTitle("TestPane");
    	Label labelProposition = new Label("Votre proposition : ");
     
    	root.getChildren().add(labelProposition);	
    	stage.setScene(scene); stage.show();
    	}
     
    	public Stage getStage() {
    		return stage;
    	}	
    }
    C'est où que je dois remplacer la ligne dont tu me parles ?

  6. #6
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2010
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2010
    Messages : 212
    Par défaut
    Normalement çà marche comme çà. Mais à mon avis la bonne façon est d'utiliser une seule classe:

    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
     
     
    public class MaFenetre extends Application{ 
            private Stage stage;
     
         @Override	 
          public void start(Stage primaryStage)  { this.stage = primaryStage;
     
    	Pane root = new Pane();
    	Scene scene = new Scene(root,400,400);
    	stage.setTitle("TestPane");
    	Label labelProposition = new Label("Votre proposition : ");
     
    	root.getChildren().add(labelProposition);	
    	stage.setScene(scene); stage.show();
    	}
     
    	public Stage getStage() {
    		return stage;
    	}	
     
    public static void main(String[] args) { 
    		launch(args);
    	}
    }

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

Discussions similaires

  1. [XL-2016] Problème OLEobjetcs.Add avec ClassType et Filename en simultanée
    Par eric spx dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 31/05/2016, 16h32
  2. Problème mémoire avec une dll par chargement dynamique
    Par widze19 dans le forum C++Builder
    Réponses: 6
    Dernier message: 15/12/2003, 13h20
  3. problèmes bizarres avec jdbc
    Par jaimepasteevy dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 12/12/2003, 12h00
  4. Problème requête avec UNION et ORDER BY
    Par Yann21 dans le forum Langage SQL
    Réponses: 12
    Dernier message: 12/12/2003, 11h02
  5. problème JSP avec JBuilder et Weblogic 7
    Par viny dans le forum JBuilder
    Réponses: 2
    Dernier message: 24/04/2003, 08h07

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