在javafx 2.0中旋转一条线

时间:2012-10-23 07:11:23

标签: javafx-2 javafx

如何在java fx中旋转线(旋转360度)?这里是代码:

package javafxapplication1;

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.shape.Ellipse;
import javafx.scene.shape.EllipseBuilder;
import javafx.scene.shape.LineTo;
import javafx.scene.shape.MoveTo;
import javafx.scene.shape.Path;
import javafx.stage.Stage;
import javafx.scene.transform.Transform;

public class JavaFXApplication1 extends Application { 
  public static void main(String[] args) {
    launch(args);
}



@Override
public void start(Stage primaryStage) {
  Group root = new Group();
  Scene scene = new Scene(root, 800, 600, Color.WHITE);

  Ellipse lingkaran = EllipseBuilder.create()
    .centerX(400)
    .centerY(300)
    .radiusX(210)
    .radiusY(210)   
    .strokeWidth(3)
    .stroke(Color.BLACK)
    .fill(Color.WHITE)
    .build();

  Path path = new Path();
  MoveTo moveTo = new MoveTo();
  moveTo.setX(400);
  moveTo.setY(300);

  LineTo lineTo = new LineTo();
  lineTo.setX(400);
  lineTo.setY(100);

  path.getElements().add(moveTo);
  path.getElements().add(lineTo);
  path.setStrokeWidth(5);
  path.setStroke(Color.BLACK);

  root.getChildren().add(lingkaran);
  root.getChildren().add(path);

  primaryStage.setScene(scene);
  primaryStage.show();
  }
}

我想将线旋转360度,但我不知道该怎么做。我一直在谷歌寻找这个,但我从来没有找到解决方案。有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

你可以用以下方式旋转你的圆圈和线:

root.getChildren().add(lingkaran);
root.getChildren().add(path);

RotateTransition rot = RotateTransitionBuilder.create().node(root)
    .byAngle(360).duration(new Duration(3000)).build();
rot.play();

primaryStage.setScene(scene);
primaryStage.show();

如果您只想轮换该行,请将.node(root)替换为.node(path).。如果您不想使用动画,可以设置该线的旋转属性。