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 :

transformer JavaFX Stage class en JavaFx Class


Sujet :

JavaFX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mai 2003
    Messages
    351
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 351
    Par défaut transformer JavaFX Stage class en JavaFx Class
    j'ai pris un code que je veux intégrer dans JPanel.
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    import javafx.stage.Stage;
    import javafx.scene.Scene;
    import javafx.scene.paint.Color;
    import javafx.scene.image.Image;
    import javafx.scene.image.ImageView;
    import javafx.animation.Timeline;
    import javafx.animation.transition.FadeTransition;
    import javafx.animation.KeyFrame;
     
    def images = for(i in [1..4]){Image {url: "{__DIR__}pic{i}.jpg"};}
    def imageView = ImageView {image: bind currImg};
    var currImg = images[0];
     
    def fade = FadeTransition {
        duration: .5s
        node: imageView
        fromValue: 1.0
        toValue: 0.1
        repeatCount: 2
        autoReverse: true
    }
     
    Timeline {
        repeatCount: Timeline.INDEFINITE
        keyFrames: [at(0s){currImg => images[0]},
                    KeyFrame{time: 4.5s action:function(){fade.play();}},
                    at(5s){currImg => images[1]},
                    KeyFrame{time: 9.5s action:function(){fade.play();}},
                    at(10s){currImg => images[2]},
                    KeyFrame{time: 14.5s action:function(){fade.play();}},
     
                    at(15s){currImg => images[3]},
                    KeyFrame{time: 19.5s action:function(){fade.play();}},
                    at(20s){currImg => images[0]}]
    }.play();
     
     
     
    Stage {
        title: "JavaFX Slideshow"
        scene: Scene {
            width: 400
            height: 300
            fill: Color.BLACK
            content: ImageView {image: bind currImg};
        }
    }
    L' exemple que j'ai sous la main est de la forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    public class MyControl extends Scene {
    }
    c'est à dire que le fichier JavaFX doit être une classe
    pour être utiliser dans Java.
    Alors je demande comment transformer mon code plus haut en classe ou si vous avez une autre solution

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 900
    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 900
    Billets dans le blog
    54
    Par défaut
    Ben c'est as vraiment compliqué à faire et ca donne un truc du genre :

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     
    import javafx.scene.Scene;
    import javafx.scene.paint.Color;
    import javafx.scene.image.Image;
    import javafx.scene.image.ImageView;
    import javafx.animation.Timeline;
    import javafx.animation.transition.FadeTransition;
    import javafx.animation.KeyFrame;
     
    public class MyControl extends Scene {
      def images = for(i in [1..4]){Image {url: "{__DIR__}pic{i}.jpg"};}
      def imageView = ImageView {image: bind currImg};
      var currImg = images[0];
     
      def fade = FadeTransition {
        duration: .5s
        node: imageView
        fromValue: 1.0
        toValue: 0.1
        repeatCount: 2
        autoReverse: true
      }
     
      def animation = Timeline {
          repeatCount: Timeline.INDEFINITE
          keyFrames: [at(0s){currImg => images[0]},
                    KeyFrame{time: 4.5s action:function(){fade.play();}},
                    at(5s){currImg => images[1]},
                    KeyFrame{time: 9.5s action:function(){fade.play();}},
                    at(10s){currImg => images[2]},
                    KeyFrame{time: 14.5s action:function(){fade.play();}},
     
                    at(15s){currImg => images[3]},
                    KeyFrame{time: 19.5s action:function(){fade.play();}},
                    at(20s){currImg => images[0]}]
      };
     
     
      public override var width = 400;
      public override var height = 300;
      public override var fill = Color.BLACK;
     
      init {
         content = ImageView {image: bind currImg};
      }
     
      public function start():Void {
        animation.play();
      }
     
      public function stop():Void {
        animation.stop();
      }
    }
    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 éclairé
    Inscrit en
    Mai 2003
    Messages
    351
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 351
    Par défaut cannot override width - this instance variabl
    avec votre code j'ai deux erreurs au niveau de la declaration des variables
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    public override var width = 400;
      public override var height = 300;
    l'erreur
    cannot override 'width' - this insatnce variable must be writeable

  4. #4
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 900
    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 900
    Billets dans le blog
    54
    Par défaut
    Déplace leur affectation dans init{} juste pour voir.
    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

  5. #5
    Membre éclairé
    Inscrit en
    Mai 2003
    Messages
    351
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 351
    Par défaut
    c'est pareil, je peux que c'est la declaration qui pose problème.

Discussions similaires

  1. utilisation de classe sous javafx
    Par barzane dans le forum JavaFX
    Réponses: 1
    Dernier message: 03/06/2010, 21h47
  2. class pour table + class pour td = class td non fonctionnelle ?
    Par supergrey dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 28/05/2009, 08h13
  3. undefined type javafx.stage.Stage
    Par tchize_ dans le forum JavaFX
    Réponses: 10
    Dernier message: 04/04/2009, 22h17
  4. Réponses: 2
    Dernier message: 03/12/2008, 11h58
  5. [DC] Transformer un MLD en Diagramme de Classes
    Par lee Mythe dans le forum Diagrammes de Classes
    Réponses: 10
    Dernier message: 07/10/2004, 13h25

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