Package com.iizix.swt

Class AWTEmbeddedCompositeResizer

java.lang.Object
com.iizix.swt.AWTEmbeddedCompositeResizer
All Implemented Interfaces:
EventListener, ControlListener, SWTEventListener

public class AWTEmbeddedCompositeResizer extends Object implements ControlListener
Class used to quickly handle resize changes in the SWT-AWT-embed-composite.

Though it is necessary, setting sun.awt.noerasebackground has negative consequences. Leaving the background uncleared may result in the temporary display of previously drawn pixels (an example of what is sometimes called cheese) during resize operations and before the initial Swing contents are displayed.

Author:
Christopher Mindus
  • Method Details

    • initialize

      public static void initialize()
      Initializes the AWT for SWT embedding.
    • _add

      public static void _add(Composite c)
      Adds a composite that embeds the AWT frame to the resizer.
    • controlResized

      public void controlResized(ControlEvent e)
      Change in composite size.

      These effects are removed by adding a resize listener to the parent SWT composite. When the composite is resized larger, exposing an unpainted region, the listener fills it immediately with the background color. The invalidated region is removed immediately, providing a cosmetic improvement during any delay while the embedded Swing component repaints.

      Specified by:
      controlResized in interface ControlListener
    • controlMoved

      public void controlMoved(ControlEvent e)
      Specified by:
      controlMoved in interface ControlListener