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 :

undefined type javafx.stage.Stage


Sujet :

JavaFX

  1. #1
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut undefined type javafx.stage.Stage
    Bonjour,

    je début en javafx et je voulais tester un peu ca pour voir ce que ca a dans le ventre. Pour le moment je suis assez déçu du peux d'avancement que j'ai réalise :p J'ai d'emblée le message d'erreur suivant en essayant de créer une scène de base:

    undefined type javafx.stage.Stage in import <<javafx.stage.Stage>> as Stage; Declaring.fx FxTests/src/fx line 1 javafx.eclipse.f3editor.builder.f3problem
    dans eclipse lorsque je crée le fichier .fx suivant:

    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
    import javafx.stage.Stage;           //required to render
                                         //a window
    import javafx.scene.Scene;           //required to display
                                         //a circle and rectangle
                                         //on a window
    import javafx.scene.shape.Rectangle; //required to
                                         //render the rectangle
    import javafx.scene.paint.Color;     //required to fill and stroke
                                         //the rectangle and
                                         //circle with color
    import javafx.scene.shape.Circle;    //required to render the circle
    Stage {
     
     
    }
    J'utilise les tutos de sun (http://java.sun.com/javafx/1/tutorials/ui/syntax/) avec la librairie javafx 1.1.0 et le plugin javafx pour eclipse (je suis sous linux) Je vois bien la classe javafx.stage.Stage dans mon classpath et le fichier java suivant, lui, compile sans problème.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    package fx;
     
    import javafx.stage.Stage;
     
    public class Test {
    	Stage stage;
    }

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Février 2009
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 284
    Par défaut
    Ton problème doit venir du plugin eclipse.
    Netbeans reste quand même à mon sens plus pertinent pour jouer avec javafx.
    Sinon as tu essayer de déclarer ton stage dans la methode run() qui est le point d'entrée dans l'EDT.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    function run() {
        Stage {
        title : "MyApp"
        scene: Scene {
            width: 200
            height: 200
     
           }
       }
    }

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Février 2009
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 284
    Par défaut
    Oups j'ai parlé trop vite...
    A la difference du java on déclare les variables de la manière suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var stage: Stage = Stage {};
    et non
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Stage stage = new Stage(),
    notes que tu n'est pas toujours obliger de spécifier le type de la variable comme le type Void des fonctions sauf dans certains cas, mais ca Netbeans te le dira

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    le problème de netbeans avec sont plugin javafx, c'est qu'il fait partie du SDK javafx fournis par sun, et j'ai beau regardé, y a pas de sdk sun pour linux. Donc j'en suis avec le plugin eclipse, je suis les tutos et pour le moment j'en suis à la base de la base, reproduire le premier exemple de hello world


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function run() {
        Stage {
        title : "MyApp"
        scene: Scene {
            width: 200
            height: 200
     
           }
       }
    }
    Ca me souligne stage en disant
    Encountered "Stage" at line 14, column 5.
    Was expecting one of:
    "operation" ...
    "return" ...
    "var" ...
    "function" ...
    Declaring.fx FxTests/bin/fx line 14
    J'ai essayé çà aussi comme mentionné dans votre post:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    import javafx.stage.Stage; 
    var stage: Stage = Stage {};
    ca me remet
    undefined type javafx.stage.Stage in import <<javafx.stage.Stage>> as Stage;
    Peut etre m'expliquer pour commencer, éventuellement, comment compiler un fichier .fx en ligne de commande, que je commence à me dépatouiller sur le fonctionnement de javafx, je chercherais alors un plugin potable plus tard.

  5. #5
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 904
    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 904
    Billets dans le blog
    54
    Par défaut
    javafxc avec les meme options que javac (-cp, -d et tout le tralala).

    Tu n'es pas oblige d'affecter ton Stage a une variable, le tout premier code que tu as donne aurait du fonctionner. Donc soit ton SDK n'est pas a la bonne version (dans les beta ca ne s'appelait pas Stage, ils ont change une bonne partie des packages et des classes lors du passage de la version beta a la version finale), soit il y a un truc de mal installe, que ce soit le SDK lui-meme ou le plugin.

    Je n'ai eut aucun probleme a mettre en route le plugin Eclipse... sous Windows... mais bon.. il est plutot limite.
    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

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    heu quel sdk?


    En ce qui concerne les librairies javafx, elle sont bien dans mon classpath puisque, comme mentionné dans mon premier post, un .java vois très bien la classe Stage.

    Le plugin de eclipse ne mentionnait pas de nécessité d'un SDK supplémentaire.
    Je pensais que c'était du pur java et que le plugin eclipse suffisait à compiler. Après tout, il y a une demon javawebstart de sun qui est capable de compiler à la volée les .fx, donc je suppose qu'il est inutile. (sauf evidement si je veux compiler en ligne de commande)

  7. #7
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 904
    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 904
    Billets dans le blog
    54
    Par défaut
    http://www.vogella.de/articles/JavaFX/article.html
    http://kenai.com/projects/eplugin/pages/GettingStarted
    évidement sans SDK pour Linux... pas sur que ce soit possible.

    Daemon Java Web Start qui compile qui compile les .fx à la volée ????????

    Alors dans NetBeans par défaut JavaFX est en mode compilé ce qui veut dire que l'IDE est fournie avec le SDK (même si bien sur on peut en spécifier un externe) et utilise javafxc pour compiler les .fx en bytecode... et en fait ca les compile carrément en Java (parfois le compile crash à donf, perd les pédales quand on fait des trucs space et pond le code de la classe Java générée).


    Donc sur MacOS & Windows on a 3 SDK en version finale :
    • la 1.0
    • la 1.1 et 1.1.1 (qui sont compatibles entre elles au niveau des binaires et du language ; le code 1.0 a besoin d'être recompilé pour la 1.1/1.1.1 et ne peut pas tourner sur les runtimes les plus récents)


    Le code pour les anciens SDK ne fonctionne pas avec les version 1.0, 1.1 et 1.1.1 car le language ET l'API ont fortement été modifiés juste avant sa sortie.

    Il est possible d'utiliser JavaFX en mode interprété en utilisant le Java Scripting Engine, ce qui nécessite un JAR qui n'est dispo qu'avec le SDK il me semble (mais bon si ça se trouve c'est un JAR non-natif), j'ai posté une Q/R sur le sujet dans les futurs propositions pour la FAQ.
    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

  8. #8
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    donc si je comprend bien, ces jolies interfaces qui font bouger toute la masse de développeur java.... n'est pas disponible sur linux??? On peux exécuter du javafx, on peux exécuter des applicaiton javafx faisant de la compilation à la volée... Mais les plugins seraient incapable, eux, de faire tourner du javafx sans le sdk?

    Pour le plugin, j'avais installé opnejfx, puisqu'il ne mentionnait pas de nécessité de sdk, je vais essayer les liens mentionnés dans ton post.

  9. #9
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 904
    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 904
    Billets dans le blog
    54
    Par défaut
    Il semble qu'il soit possible d'adapter le SDK MacOS pour qu'il fonctionne sous Linux http://www.weiqigao.com/blog/2008/12..._on_linux.html
    Voir aussi plus bas dans les posts pour le support dans NetBeans.

    Apparement Sun a décidé que tant que les codecs audios et vidéo ne seraient pas dispo sous Linux, ben pas de SDK officiel sur cette platforme ... ni pour Solaris d'ailleurs ! ²
    Ce qui n'empêche pas les applications se contentant d'afficher du bête SceneGraph à l'écran de fonctionner...

    Pis c'est bien connu les designers, les vrais, les durs de durs, ça n'utilise qu'Illustrator et Photoshop et ça ne bosse que sous MacOS et un peu sous Windows.
    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

  10. #10
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par bouye Voir le message
    Pis c'est bien connu les designers, les vrais, les durs de durs, ça n'utilise qu'Illustrator et Photoshop et ça ne bosse que sous MacOS et un peu sous Windows.
    Oui, mais les programmeur, les vrai, qui veulent juste utiliser javafx parmis d'autres technos, eux ils bossent sur un environnement developpeur friendly (linux). Y a qu'à voir la différence de vitesse d'eclipse entre un Os unix et windows pour faire le choix :p

    Je vais regarder à adapter tout ca, je vous reviens un autre jour ^^

  11. #11
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    a y est, marche avec le sdk 1.0.

    J'ai suivi les instructions ici pour le plugin: http://www.vogella.de/articles/JavaF...clipse_install

    et j'ai trouvé ici un redistribution du SDK 1.0 pour linux (redistribution officieuse basée sur la version mac os x): http://www.leo-sa.com/?p=59 (lien direct vers l'archive: http://www.leo-sa.com/javafx-sdk1.0-...oficial.tar.gz)

    je vais essaye ce w-e de travailler avec le sdk 1.1.1 si j'arive à décompatcer ce foutu dmg mac os x

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 24/07/2009, 14h44
  2. [Stage] Stage 6 mois J2EE/.NET au Luxembourg
    Par Jean-Michel Ormes dans le forum Demandes
    Réponses: 0
    Dernier message: 20/09/2008, 09h57
  3. [Stage] Stage de 6 semaines en janvier 2009
    Par Jenkins dans le forum Demandes
    Réponses: 0
    Dernier message: 19/09/2008, 21h57
  4. error:invalid use of undefined type
    Par assif dans le forum C++
    Réponses: 2
    Dernier message: 25/10/2006, 21h11
  5. [Stage] Stage = exploitation ??
    Par gamerome dans le forum Stages
    Réponses: 35
    Dernier message: 03/07/2006, 09h10

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