0

画像の幅を変更する必要があると信じている非常に基本的なアプリがありますが、何もしません...画像をクリックしても画像に何も起こらない理由を誰かに教えてもらえますか?

(注、画像自体はそれほど重要ではありません。私は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;
                }
            }
        ]
    }
}

ありがとうございます!

4

2 に答える 2

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;                    
                }
            }
        ]
    }
}
于 2008-11-12T22:58:54.603 に答える
1

返信ありがとうございます。返信が遅れて申し訳ありませんが、画像自体をバインドするだけでよいことがわかりました。

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

個人的には少し誤解を招くと思いますが、うまくいきます

于 2008-11-20T09:32:39.260 に答える