[英]In JavaFx how is rendering of a scene graph carried out or triggered
我試圖了解節點是如何在 JavaFX 中呈現到屏幕上的,以及什么觸發了這個過程,因為我想在 JavaFx 中創建一個自定義控件。 我有使用 Android 的View類的經驗,其中View的繪制與在 JavaFX 中繪制場景圖不同。
例如在 Android 中,我可以創建一個自定義View
並覆蓋onDraw(Canvas canvas)
方法。 在onDraw()
中,我可以通過在Canvas
對象上繪制目錄來放置我所有的繪圖要求。 該方法在 UI 線程上調用,一旦onDraw
完成,畫布就會自動顯示。 如果在 GUI 線程上,我可以通過調用視圖的invalidate()
方法隨時觸發重新繪制視圖,否則調用postInvalidate()
。
在 JavaFx 中,我不使用 Canvas 對象,而是使用 Node 對象,據我所知,沒有等效的onDraw()
。 因此,如果我要創建自定義 Control,我將擴展Control類並創建一個擴展SkinBase的類。 SkinBase
類是我通過創建各種 Node 對象來創建自定義控件“外觀”的地方。 但是之后:
很明顯,我試圖與 Android 的 View 類的工作方式進行比較,這可能會混淆 Android 和 JavaFx 渲染過程的工作方式,但 Android 是我的知識起點。
Platform.runLater(...)
安排代碼從后台線程(或使用JavaFX 並發 API )在 FX 應用程序線程上執行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.