Привязка ширины изображения в JavaFX - PullRequest
0 голосов
/ 11 ноября 2008

У меня есть очень простое приложение, которое, как я считаю, должно изменять ширину изображения, но оно ничего не делает ... может кто-нибудь сказать мне, почему, когда я нажимаю на изображение, ничего не происходит с изображением?

(обратите внимание, само изображение на самом деле не имеет значения, я просто пытаюсь понять, как уменьшить и увеличить изображение в 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;
                }
            }
        ]
    }
}

Спасибо, куча!

Ответы [ 2 ]

1 голос
/ 20 ноября 2008

Спасибо за ответ, извините за задержку, возвращающуюся к вам, но оказывается, что все, что вам нужно сделать, это привязать само изображение:

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

И это, кажется, делает трюк, который лично я нахожу немного вводящим в заблуждение, но эй, это работает

1 голос
/ 13 ноября 2008

Попробуйте связать атрибуты масштаба:

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;                    
                }
            }
        ]
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...