哪些JavaFX类与渲染控件交互?

时间:2014-02-11 06:59:26

标签: javafx javafx-2 javafx-8

每个控件都有皮肤,但是如何在舞台上渲染皮肤?是的,主要的CSS文件,Scene Graph和Prism Rendering Thread都在那里,但我想知道哪些类在渲染上做了哪些部分。谢谢!

1 个答案:

答案 0 :(得分:1)

还有更多,但Node,Scene,CssStyleHelper,工具包界面(QuantumToolkit),QuantumRenderer,玻璃场景(ViewScene),ViewPainter,PaintCollector,PaintRenderJob,PGNode,Graphics,BaseContext和VertexBuffer都在渲染中发挥作用控件。

我只是想我会分享它以防其他人需要它,或者我需要纠正。

它以QuantumToolkit上的pulse()开头,它调用PaintCollector的renderAll(),然后在ViewScene上调用repaint()。 ViewScene将一个PaintRenderJob添加到QuantumToolkit,后者通过QuantumRenderer将作业提交给ExecutorService。

PaintRenderJob有它的ViewPainter,它是一个具有PGNode的Runnable。在ViewPainter的一个实现中,ViewPainter中包含的PGNode通过让PGNode调用其Graphic对象来绘制。

图形确定绘图方式,然后通过BaseContext刷新到VertexBuffer。刷新到VertexBuffer涉及一个名为drawQuads(int)的本机方法。

对于Node,Scene和CssStyleHelper的部分,它们可以告诉哪些需要重新绘制。讲述是通过听众完成的。

在FX2中,有一个PrismPen开始和结束绘图会话。