Hello Hervé
Hello,

Thanks, I will look at this, it looks interesting. In fact, the reason why I 
want to avoid setting the clip is because I'm using swing to draw gui 
components in Java according to a standard called ARINC 661 where some of the 
components are just containers with no size but just an offset position, where 
the children can even have a negative position relative to their parent 
container.

Did you try to resize you container before painting?

I am thinking about having a big main container which contains all your children with negative position
so the applied clip wouldn't hurt you

If you control the painting hierarchy you can also try overriding paint() method of every child component
and reset clip there

However may the hack you found is only way to make what you need

Thanks
alexp

Regards,

Herve

Sent from my iPad

On 3 juin 2011, at 16:13, Alexander Potochkin<[email protected]>  
wrote:

Hello Herve

I don't really get it why you need to avoid setting the clip,
but anyway the following may be interesting to you

http://www.pbjar.org/blogs/jxlayer/jxlayer40/

Piet is transforming Swing components using JXLayer component

Thanks
alexp
(reposted from awt-dev list, I picked up the wrong list before)

Hello,

I'm new to this mailing list and I'm not *really* asking how to do it because I know how it's 
possible to do it by using a hack (mainly getting and setting the BUFFER and TILE parts of the 
"flags" field for the JComponent by reflection, and "rewriting" the 
paintChildren method without the clipping part). I'm using it in the 
http://sourceforge.net/projects/j661/  project to be able to use custom Swing containers which only 
offset the position or transform their children graphic context, without clipping them (allowing to 
use negative positions for the children widgets, for example).

I'm asking if there is a way to do this without playing with the private "flags" field, 
because I need to be able to do the same thing in a restricted JNLP environment. I know a 
"regular"' way to do this, but it would be a little cumbersome (offsetting the positions 
of all children widgets in the parent container, to be sure that the positions of the children are 
never negative, for example). But it's not very good for performance when something change in the 
parent container....

There are many projects which either play with this private field, or use transforms, but 
in this later case they still apply a clipping. Is it possible to play with the 
Graphics2D clippings for example before using the JComponent paintChildren method - or 
would this approach work ?  Or would the only way to do it without compromising Security 
be to have a way to get / set the TILE and BUFFER value of the "flags" field 
without reflection ?

Thanks by advance if you have ideas about this, and sorry if this prose is not 
crystal clear ;)

Regards,

Herve


Reply via email to