2008-11-10 7 views
0

J'ai une application très basique qui je crois devrait changer la largeur d'une image, mais il ne fait rien ... quelqu'un peut me dire pourquoi, quand je clique sur l'image, rien ne se passe à l'image ?Image largeur liaison en JavaFX

(note, l'image elle-même n'a pas d'importance vraiment, Im juste essayer de comprendre comment réduire et grandir et image dans JavaFX)

import javafx.application.Frame; 
import javafx.application.Stage; 
import javafx.scene.image.ImageView; 
import javafx.scene.image.Image; 
import javafx.input.MouseEvent; 

var w:Number = 250; 

Frame { 
    title: "Image View Sample" 
    width: 500 
    height: 500 
    closeAction: function() { 
     java.lang.System.exit(0); 
    } 
    visible: true 

    stage: Stage { 
     content: [ 
      ImageView { 
       x: 200; 
       y: 200; 
       image: Image { 
        url: "{__DIR__}/c1.png" 
        width: bind w; 
       } 

       onMouseClicked: function(e: MouseEvent):Void { 
        w = 100; 
       } 
      } 
     ] 
    } 
} 

tas Merci!

Répondre

1

Essayez de lier les attributs échelle:

import java.lang.System; 
import javafx.application.Frame; 
import javafx.application.Stage; 
import javafx.scene.image.ImageView; 
import javafx.scene.image.Image; 
import javafx.input.MouseEvent; 

var w:Number = 1; 

Frame { 
    title: "Image View Sample" 
    width: 500 
    height: 500 
    closeAction: function() { 
     java.lang.System.exit(0); 
    } 
    visible: true 

    stage: Stage { 
     content: [ 
      ImageView { 
       x: 200 
       y: 200 
       anchorX:200 
       anchorY:200 
       scaleX:bind w 
       scaleY:bind w 
       image: Image { 
        url: "{__DIR__}/time.png"      
       } 

       onMouseClicked: function(e: MouseEvent):Void { 
        w += 0.1;      
       } 
      } 
     ] 
    } 
} 
1

Merci pour la réponse, désolé pour le retard revenir à vous, mais il se trouve que tout ce que vous devez faire est de lier l'image elle-même:

Et cela semble faire l'affaire, que personnellement je trouve un peu trompeur, mais bon, ça marche