大家。我是JavaFX的新手,我有一个问题可能对你来说更容易,但花了我很多时间,我还是想不通。我的问题是:
我需要使用Java Scene Builder实现一个swatch GUI。我选择班级圈作为样本表盘,选择班级标签作为时间索引(1,2,3,... 12),然后选择班级行作为时针,分针和秒针。
当我想放大缩小操作时,我希望标签(时间索引)和线(样本指针)可以是圈(样本表盘),但似乎不能。 那么,是否有任何方法可以将这几个节点放大或缩小在一起?
答案 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(...);