Java swing渲染优化

Java swing渲染优化,java,swing,optimization,rendering,Java,Swing,Optimization,Rendering,我知道Java的本机swing UI元素进行了大量的渲染优化,因此性能更好。也就是说,如果我有一个定制的JPanel(也就是说,我已经覆盖了它的paintComponent方法): 渲染优化还会执行吗(我希望如此) 我可以手动告诉它的父容器何时重新绘制JPanel吗?换言之,我可以冻结JPanel的重新呈现,直到明确告知吗 如果是这样的话(#2),我能告诉它只重新绘制JPanel(智能绘画,我想它叫…)的特定部分吗 最后,重新渲染JPanel是否能够处理JPanel的透明度、圆角或其他非矩形形状

我知道Java的本机swing UI元素进行了大量的渲染优化,因此性能更好。也就是说,如果我有一个定制的JPanel(也就是说,我已经覆盖了它的paintComponent方法):

  • 渲染优化还会执行吗(我希望如此)
  • 我可以手动告诉它的父容器何时重新绘制JPanel吗?换言之,我可以冻结JPanel的重新呈现,直到明确告知吗
  • 如果是这样的话(#2),我能告诉它只重新绘制JPanel(智能绘画,我想它叫…)的特定部分吗
  • 最后,重新渲染JPanel是否能够处理JPanel的透明度、圆角或其他非矩形形状?(我想这意味着它将重新呈现JPanel下面的元素)

  • 如果没有,是否有其他的伪造技术?(最好只是指向我可以读取的源/引用的链接)

    要加快渲染速度,可以使用BuffereImage。在图像的图形上渲染内容一次,并使用图像而不是渲染所有内容

    要渲染面板的一部分,请使用图形“setClip()/getClip()”检查必须刷新的区域并仅绘制部分

    要绘制非矩形对象,请使用相同的setClip设置必要的形状。

    另请参见并关注一个问题。分析后进行优化。