我想要一个文本(javafx.scene.text)并将其放在一个多边形上。
我通过尝试本教程尝试使用Group(javafx.scene.group):tutorial on stackoverflow
这不适用于text.setClip(Polygon)。
Exception in thread "JavaFX Application Thread" java.lang.NullPointerException
at ch.berufsbildungscenter.notiztool.gui.control.BbcPolygon$1.run(BbcPolygon.java:33)
at com.sun.javafx.application.PlatformImpl$6$1.run(Unknown Source)
at com.sun.javafx.application.PlatformImpl$6$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl$6.run(Unknown Source)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.access$300(Unknown Source)
at com.sun.glass.ui.win.WinApplication$4$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
还有另一种方法可以将文本放到多边形上吗?
由于 和平
答案 0 :(得分:2)
setClip()有不同的用途。您可以查看documentation为了轻松地将文字放在多边形或任何其他节点上,您可以使用javafx.scene.layout.StackPane,如下所示:
StackPane stack=new StackPane();
stack.getChildren().add(polygonInstance);
stack.getChildren().add(textInstance);
最后添加的节点将位于顶部。