Question

 var width = 400;
 var height = 400;

Stage {
    style: StageStyle.TRANSPARENT

    onClose: function():Void {
       System.exit(0);
    }

    scene: Scene {
        content: Scribble {}
        width: width
        height: bind height
    }
}

Pourquoi le travail de largeur, mais la hauteur non? Et, qu'est-ce que je peux faire pour résoudre ce problème? Netbeans dit:

  

hauteur n'a que le script (par défaut) l'accès de liaison dans javafx.scene.Scene

Était-ce utile?

La solution

Ok, j'ai tout compris:

var width : Number = 400;
var height : Number = 400;

var stage:Stage = Stage {
    width: bind width with inverse
    height: bind width with inverse
    scene: Scene {
      content: Scribble {
                 canvasWidth: bind stage.scene.width
                 canvasHeight: bind stage.scene.height
               }
    }
}

Bien, je ne suis pas vraiment besoin de préciser ici la largeur et la hauteur, parce que je peux accéder à ces via la variable d'étape. La largeur de la scène et de la hauteur mises à jour lorsque la largeur de la scène et de la hauteur change. J'ai trouvé que le canvasWidth mettra à jour beaucoup mieux quand il est lié à la largeur de la scène et de la hauteur plutôt que de la largeur et de la hauteur du var (qui mettent à jour une seule fois le redimensionnement terminé)

Autres conseils

Pour être plus précis sur ce point, la largeur et la hauteur de la scène sont déclarés comme « init public ». Cela signifie qu'ils ne peuvent être définis au moment de l'initialisation. La liaison de la hauteur dans l'objet de la scène littérale implique que la hauteur sera mise à jour, d'où l'erreur. La largeur de la scène et la hauteur sont déclarés comme « public » ce qui signifie qu'ils peuvent être mis à jour.

Vous ne devriez pas lier les dimensions de la scène à quoi que ce soit. La plupart du temps parce que les dimensions de la scène ne seront pas mis à jour lorsque l'utilisateur tente de redimensionner la fenêtre contenant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top