Heim >Java >javaLernprogramm >Wie erhalte ich die Knotenhöhe in JavaFX vor dem Layout genau?

Wie erhalte ich die Knotenhöhe in JavaFX vor dem Layout genau?

Linda Hamilton
Linda HamiltonOriginal
2024-12-27 11:51:12221Durchsuche

How to Accurately Get Node Height in JavaFX Before Layout?

Knotenhöhe in JavaFX ermitteln

Um die Höhe eines Knotens in JavaFX zu ermitteln, müssen Sie die folgenden Schritte ausführen:

  1. Erstellen Sie die Knoten, die in den VBoxen platziert werden sollen.
  2. Fügen Sie sie einer temporären Szene hinzu (Das kann eine Dummy-Szene ohne Bühnenanhang, aber mit passenden CSS-Regeln für Ihre Hauptszene sein).
  3. Rufen Sie applyCss() und layout() auf jedem Knoten (oder im Stammverzeichnis der Dummy-Szene) auf.
  4. Messen Sie die Layoutgrenzen der Knoten.
  5. Fügen Sie die Knoten basierend auf Ihrem Layout zu den VBoxen in Ihrer tatsächlichen Szene hinzu Algorithmus.

Erklärung

JavaFX-Layoutberechnungen umfassen die Anwendung von CSS-Stilen und die Ausführung eines Layoutdurchlaufs. Dieser Vorgang erfolgt typischerweise während eines „Pulses“ (einer automatischen Prüfung auf schmutzige Objekte in der Szene); Wenn Sie jedoch Knotengrößenmessungen benötigen, bevor das Layout erfolgt, müssen Sie die CSS-Anwendung und den Layoutdurchlauf manuell auslösen.

Alternative

Ein alternativer Ansatz ist das Überschreiben die Methode „layoutChildren()“ des übergeordneten Knotens, um die Anpassung der untergeordneten Knoten während des Layoutdurchlaufs zu handhaben. Dies erfordert jedoch das Überschreiben anderer Methoden wie „computePrefHeight()“ für genaue Größenberechnungen.

Das obige ist der detaillierte Inhalt vonWie erhalte ich die Knotenhöhe in JavaFX vor dem Layout genau?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn