總是當我嘗試獲得在Java中的數組的寬度它只是返回0,我不知道爲什麼。有人可以向我解釋它是如何完成的嗎?如何獲得javafx中的label.getWidth()
Label label = new Label();
label.setFont(Font.font(label.getFont().getFamily(), 8));
label.setText(""
+ a[i][j].getList().getFirst().getLength()
+ " mal "
+ intToColor(a[i][j].getList().getFirst()
.getColor()));
label.relocate((x1 + x2)/2 - label.getWidth()/2, (y1 + y2)/2);
label.idProperty().set("trackName");
label.setTextFill(Color.web("GREEN"));
field.getChildren().addAll(path, label);
System.out.println(label.getLayoutBounds().getWidth());
System.out.println(label.getWidth());//... also i tested a lot of different getters but i couldn't get the label width (same problem with height)
希望你有個想法我必須做的。
@tomsontom
這樣做:
label.prefWidth(-1);
label.prefHeight(-1);
label.impl_processCSS(true);
// label.resizeRelocate(x, y, width, height);
System.out.println(label.getWidth());
但它沒有工作 - 你能更正是我需要做的解釋我?
*已編輯的問題 - 感謝您的幫助,但我有一些問題,以瞭解什麼exacltly我需要做的。 – baxbear
我已經添加了代碼 - 對我的回答 – tomsontom
非常感謝 – baxbear