0

JavaFx でいくつかのシェイプを作成したいのですが、すべてのシェイプに独自の TranslateTransition オブジェクトが定義されている必要があり、シェイプをクリックすると TranslateTransition が再生されます。私のコード:

形状クラス:

package com;
import javafx.animation.TranslateTransition;
import javafx.beans.property.DoubleProperty;
import javafx.event.Event;
import javafx.event.EventHandler;
import javafx.scene.Parent;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
import javafx.util.Duration;

public class MShape  extends Parent{
private TranslateTransition Transition;
Circle circle;
DoubleProperty tox;
DoubleProperty toy;
public MShape(int i, int j) {
    circle = new Circle(20);
    circle.setCenterX(i);
    circle.setCenterY(j);
    circle.setFill(Color.RED);
    Transition= new TranslateTransition();
    Transition.setToX(350);
    Transition.setToX(375);
    Transition.setDuration(Duration.seconds(2));
    Transition.setNode(this.circle);
    this.getChildren().add(circle);
    circle.setOnMouseClicked(new EventHandler<Event>() {

        @Override
        public void handle(Event paramT) {
            Transition.play();
            System.out.println("hello");
        }
    });


}

}

メインクラス

package com;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class Test extends Application{

@Override
public void start(Stage stage) throws Exception {
    VBox root = new VBox();
    stage.setScene(new Scene(root,800,600));

    MShape test =new MShape(100, 100);
    root.getChildren().add(test);
    stage.show();
}
public static void main(String[] args) {
launch(args);
}


}

形状を押しても動かない問題

4

1 に答える 1