> 24 нояб. 2016 г., в 11:32, Semyon Sadetsky <semyon.sadet...@oracle.com> > написал(а): > > > > On 24.11.2016 21:11, Sergey Bylokhov wrote: >> On 24.11.16 20:42, Semyon Sadetsky wrote: >>>> It have a different implementations because it has different meaning: >>>> - The non-opaque window is a window which uses transparent background. >>>> - The non-opaque component is the component which require the parents >>>> be painted first. it is not necessary that the background in this case >>>> should be transparent(It is possible that the component draw something >>>> only in some place of its bounds) And transparent color is not always >>>> requires that the component should be non-opaque, because components >>>> can ignore its background. >>> Hmm.. Both JComponent and Window override the same Component.isOpaque() >>> but the property has different meaning for each of them. >> >> The requirements for Window.isOpaque() are a subset of >> JComponent.isOpaque(). Because the Window does not have the parents, which >> should/shouldn't be painted. And to be a transparent the Window must have a >> transparent color. Both of these cases are not applicable to the components. > Having opaque property regulated by user for per-pixel translucency is a > mistake because the painted result of the translucent and opaque component > will depend on the platform, the used buffer type and the pipe.
Why it will depend from the platform, buffer type and pipeline? It should work for all components, and should work for all top level windows if per-pixel translucent is supported. >> >>> Probably, this is a design mistake? >> >> This is how it was implemented long time ago. > It is a good chance to fix the bug at last. This is not a bug.