我的问题似乎很愚蠢,但是我在文本中显示了一个图标,当我尝试获取文本的边界时,java没有得到正确的边界。
这是代码:
@Override
public Layer buildLayer() {
//creation of the Layer
final Layer planeLayer = new Layer();
planeLayer.setZindex(1500);
Text plane = new Text(PLANE_ICON_NUMBER);
plane.setId("plane-headings-game");
plane.getStyleClass().add("plane-headings-game");
System.out.println(plane.getLayoutBounds().getWidth());
plane.setRotate(PLANE_ROTATION);
planeLayer.getChildren().add(plane);
planeLayer.setTranslateX(Main.getWindowWidth() / 2. -
plane.getLayoutBounds().getWidth());
planeLayer.setTranslateY(Main.getWindowHeight() / 2. -
plane.getLayoutBounds().getHeight());
return planeLayer;
}
所以我有一个CSS:
#plane-headings-game {
-fx-font-family: 'govicons-webfont';
-fx-font-size: 60px;
-fx-fill: firebrick;
}
(govicons-webfont在之前声明)
所以当我这样做时:
System.out.println(plane.getLayoutBounds().getWidth());
打印的结果是:
7.74609375
它应该类似于:
60.0
我认为返回的值是默认值,因此java无法访问对象one。
所以,请问您知道它可能来自哪里吗?我会非常棒的:) 如果您需要更多信息,我会给您