如何使用JavaFX 8一起执行多个节点的缩放操作

时间:2014-07-24 15:24:46

标签: javafx

大家。我是JavaFX的新手,我有一个问题可能对你来说更容易,但花了我很多时间,我还是想不通。我的问题是:

我需要使用Java Scene Builder实现一个swatch GUI。我选择班级作为样本表盘,选择班级标签作为时间索引(1,2,3,... 12),然后选择班级作为时针,分针和秒针。

当我想放大缩小操作时,我希望标签(时间索引)线(样本指针)可以是圈(样本表盘),但似乎不能。 那么,是否有任何方法可以将这几个节点放大或缩小在一起?

1 个答案:

答案 0 :(得分:0)

将所有节点放在Group中并将缩放应用于Group

这样的东西
Pane mainContainer = ... ;
Group watch = new Group();
Circle dial = new Circle(...);
Line hourHand = ... ;
Line minuteHand = ... ;
watch.getChildren().addAll(dial, hourHand, minuteHand);
Label[] timeLabels = new Label[12];
for (int i=1; i<=12; i++) {
    timeLabels[i-1]= new Label(String.valueOf(i));
    watch.getChildren().add(timeLabels[i-1]);
}
mainContainer.getChildren().add(watch);

显然你需要定位各种部分。

然后再缩放

watch.setScaleX(...);
watch.setScaleY(...);