slideimages2

 

スクリプト

slideimages2.fx

import javafx.ext.swing.SwingSlider;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.Scene;
import javafx.stage.Stage;
 
// イメージのシーケンス
// 未定義でエラーにならないよう、先に定義だけ行う
var images: ImageView[] = [];
 
// スライダの値にバインドした変数
// スライダの位置が半分に来た時にイメージの並び順を変更する
var sliderValue = 0 on replace {
    if (sliderValue == 50) {
        images = reverse images;
    }
};
      
// スライダの値に応じた移動量
var transX = bind sliderValue * (6.0 - 6.0 * sliderValue / 100.0);
 
// 2 枚のイメージ
images = [
    ImageView {
        x: 0
        y: 50
        translateX: bind transX
        image: Image {
            url: "{__DIR__}herme.jpg"
        }
    },
    ImageView {
        x: 0
        y: 50
        translateX: bind -transX
        image: Image {
            url: "{__DIR__}aoki.jpg"
        }
    }
];
 
Stage {
    title: "Slide Images"
    scene: Scene {
        width: 300
        height: 500
        // バインドするのは images の変更に同期するため
        content: bind [
            SwingSlider {
                translateX: 20
                translateY: 15
                width: 260
                minimum: 0
                maximum: 100
                value: bind sliderValue with inverse
                vertical: false
            },
            images
        ]
    }
}