使用setOpaque(false)是否会影响Swing JComponents的绘制性能?

时间:2014-08-01 17:13:44

标签: java swing jcomponent

我的问题是,我使用setOpaque(false)JPanel一起使用来在Swing中布局UI,是否会影响绘画效果而不是保持一切不透明(isOpaque()返回true)。

我不太熟悉Swing如何渲染UI,但我猜想如果JComponent不是不透明的,那么渲染组件背后的内容就更难了,只需在组件上绘制一个不透明的背景。

1 个答案:

答案 0 :(得分:2)

是的,它确实在绘画时增加了额外的工作,但我怀疑你不得不担心它。

基本上,无论何时重新绘制透明的组件,都需要在链上找到不透明的父级,然后在绘制子组件之前先绘制该组件。

所以底线不用担心。如果您有理由使用透明度,请使用它。如果你没有理由那么你就不应该使用它。

您可能需要查看Background With Transparency。它详细介绍了不透明属性的含义以及它如何影响绘画以及如果使用透明背景将会遇到的问题。