JavaFX label.getWidth()

foerster7891

Aktives Mitglied
Hi,

egal was ich versuche und egal wie ich versuche die Länge und Höhe eines Labels zu bekommen es kommt immer 0 raus.

Warum ist dies so? Wie bekomme ich die Länge?

Java:
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 - 0 / 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());//etc. nothing works
 
Zuletzt bearbeitet:
Hi,
Setzte doch beim Erstellen des Labels die Breite und Höhe.
dazu gibt es für das Label die Methode:
Java:
public void setSize(int width, int height);
 
Zuletzt bearbeitet:
Du versuchst wahrscheinlich die Breite/Höhe des Labels zu lesen, bevor du es auf die Scene geschubst hast. Zu dem Zeitpunkt (Initialisierung) wurde natürlich noch *kein* Layout erstellt/berechnet - erst wenn das Scene#show() aufgerufen wird, wird die tatsächlich angezeigte grösse erkannt.
 

Zurück
Oben