【发布时间】:2017-02-06 02:23:28
【问题描述】:
轴只是我创建的用于表示轴的 JavaFX 框。
如何标记坐标轴?我尝试过使用 JavaFX Label 和 Text 对象,但它们只是以 2D 显示,但我可能用错了。有没有办法在 3D 中标记这些轴(例如,沿轴放置数字 1、2、3、4、5)?
【问题讨论】:
轴只是我创建的用于表示轴的 JavaFX 框。
如何标记坐标轴?我尝试过使用 JavaFX Label 和 Text 对象,但它们只是以 2D 显示,但我可能用错了。有没有办法在 3D 中标记这些轴(例如,沿轴放置数字 1、2、3、4、5)?
【问题讨论】:
我们向 fxyz3d.org 添加了一个浮动标签示例...查看示例: FloatingLabels.java
要一般管理连接到 Point3D 的 2D 标签,您需要按照以下方式进行转换:
Point3D coordinates = node.localToScene(javafx.geometry.Point3D.ZERO);
SubScene oldSubScene = NodeHelper.getSubScene(node);
coordinates = SceneUtils.subSceneToScene(oldSubScene, coordinates);
double x = coordinates.getX();
double y = coordinates.getY();
label.getTransforms().setAll(new Translate(x, y));
您还需要担心其他细节,例如正确添加到子场景和剪辑,但这些都包含在示例中。
【讨论】: