2008-11-10 72 views
0

我有一个非常基本的应用程序,我认为应该改变图像的宽度,但它什么都不做......任何人都可以告诉我为什么,当我点击图像时,图像没有任何反应?JavaFX中的图像宽度绑定

(注意,图像本身并不真正重要,我只是想弄清楚如何收缩和图像在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; 
       } 
      } 
     ] 
    } 
} 

感谢堆!

回答

1

尝试绑定规模属性:

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

感谢您的答复,抱歉耽搁又回到了你,但事实证明,所有你需要做的是将图像纳索:

image: bind Image { 
    url: "{__DIR__}/time.png" 
    width: w; 
} 

而这似乎是做伎俩,我个人觉得有点missleading,但嘿,它的作品