>> Graphics2D g2d = (Graphics2D) g;
>>
>> // draw the foreground layer
>> //
>> Area clipArea = new Area( this.getBounds() );
>>
>> Iterator nodeIterator = widgets.iterator();
>> while (nodeIterator.hasNext())
>> {
>> WidgetIF widget = (WidgetIF) nodeIterator.next();
>>
>> widget.draw( g2d );
>>
>> clipArea.subtract( new Area( widget.getBounds() ) );
>> }
>>
>>
>> g2d.setClip( clipArea );
>>
>>
>> // draw all of the links
>> Iterator linkIterator = links.iterator();
>> while (linkIterator.hasNext())
>> {
>> WidgetIF widget = (WidgetIF) linkIterator.next();
>>
>> widget.draw( g2d );
>> }
>
I think that you can optimize this if you don't create your clipping area
every paint.
Why you use widget.getBounds ? is your widget rectangular? if not then
widget.getShape would be better.
===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA2D-INTEREST". For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".