当前位置: 首页 > 知识库问答 >
问题:

如何使用JavaFX8对多个节点一起进行缩放操作

轩辕阳焱
2023-03-14

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

我需要用Java场景构建器实现一个swatch GUI。选择类圆作为样本表盘,选择类标签作为时间索引(1,2,3,...12),选择类线作为时针、分针和秒针。

当我想做放大缩小操作时,我希望标签(时间索引)和线(样本指针)可以是圆(样本表盘)的子代,但似乎不能。那么,有没有什么方法可以把这几个节点一起放大或缩小呢?

共有1个答案

李兴庆
2023-03-14
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(...);
 类似资料:
  • 问题内容: 我希望能够放大HTML 5画布中鼠标下方的点,例如Google Maps上的。我该如何实现? 问题答案: 终于解决了: 关键是计算轴位置,以便缩放点(鼠标指针)在缩放后保持在同一位置。 最初,鼠标与角之间有一段距离,我们希望鼠标下方的点在缩放后保持在同一位置,但这是远离角的地方。因此,我们需要移动(角的坐标)以解决此问题。 然后,其余代码需要应用缩放并转换到绘制上下文,以便其原点与画布

  • 我需要相对于鼠标位置放大/缩小滚动窗格。 我目前通过将我的内容包装在一个组中并缩放组本身来实现缩放功能。我创建了一个带有自定义透视的新Scale对象。(枢轴设置为鼠标位置) 如何在不同级别的缩放中获得正确的鼠标位置?是否有一种完全不同的方法来缩放滚动窗格更容易?

  • 但它没有提供所需的产出。它给出的输出像 我是XSL的新手。有谁能帮我解决这个问题吗?

  • 问题内容: 我正在研究信号分类问题,想先缩放数据集矩阵,但是我的数据是3D格式(批,长度,通道)。 我尝试使用Scikit-learn Standard Scaler: 但是我收到了以下错误消息: 找到具有暗3的数组。StandardScaler预期<= 2 我认为一种解决方案是将每个通道的矩阵分成多个2D矩阵,分别缩放比例,然后放回3D格式,但我想知道是否有更好的解决方案。 非常感谢你。 问题答

  • 我试图创建一个具有可缩放/可折叠画布的应用程序。 特点: 用鼠标滚轮在支点处放大/缩小 用鼠标左键在画布上拖动节点 用鼠标右键拖动整个画布 很明显是枢轴点计算出了问题,但我想不出是什么,怎么修复。 非常感谢!

  • 如果我有两个单独的Sceneform可转换节点,它们都有自己的锚点和锚点,那么如何将它们“链接”在一起,以便用户的手势(捏和拖动)对这两个节点都有相同的效果?如果我将它们指定在同一个锚点或锚点节点上,这会使它们的位置相同,但我不希望这样,我希望两个节点在链接后保持它们的相对位置。我知道如何缩放和旋转一个节点,如果我知道我需要做多少,但我无法找到一种方法来可靠地聆听手势的开始和结束。