2017-02-06 5 views
1

So I have this sceneJavaFX Этикетка оси в 3D

Оси всего JavaFX коробки, которые я создал для представления осей.

Как бы я обозначил оси? Я пробовал использовать объекты JavaFX Label и Text, но они просто отображаются в 2D, но я могу использовать их неправильно. Есть ли способ подписать (например, поставить числа 1, 2, 3, 4, 5 по осям) эти оси в 3D?

ответ

0

Мы добавили Floating пример этикетки для fxyz3d.org ... проверить образец: FloatingLabels.java

родовым управлять 2D метки, связанные с Point3D вам нужно сделать преобразование по следующим:

 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)); 

Есть и другие детали, о которых вам нужно беспокоиться, например, о том, как правильно добавить подсерию и обрезку, но они включены в пример.