Package spin.over

Class CheckingRepaintManager

java.lang.Object
javax.swing.RepaintManager
spin.over.CheckingRepaintManager

public class CheckingRepaintManager extends RepaintManager
A repaintManager that checks bad access - i.e. access from non EDT - to Swing components. Install with:
 RepaintManager.setCurrentManager(new CheckingRepaintManager());
 
Based on an idea by Scott Delap (http://www.clientjava.com).
See Also:
  • Constructor Details

    • CheckingRepaintManager

      public CheckingRepaintManager()
  • Method Details

    • addInvalidComponent

      public void addInvalidComponent(JComponent component)
      Overriden to check EDT rule.
      Overrides:
      addInvalidComponent in class RepaintManager
    • addDirtyRegion

      public void addDirtyRegion(JComponent component, int x, int y, int w, int h)
      Overriden to check EDT rule.
      Overrides:
      addDirtyRegion in class RepaintManager
    • checkEDTRule

      protected void checkEDTRule(Component component)
      Check EDT rule on access to the given component.
      Parameters:
      component - component to be repainted
    • violatesEDTRule

      protected boolean violatesEDTRule(Component component)
      Does acces to the given component violate the EDT rule.
      Parameters:
      component - accessed component
      Returns:
      true if EDT rule is violated
    • isLiableToEDTRule

      protected boolean isLiableToEDTRule(StackTraceElement element) throws Exception
      Is the given stackTraceElement liable to the EDT rule.
      Parameters:
      element - element
      Returns:
      true if the className of the given element denotes a subclass of java.awt.Component
      Throws:
      Exception - on any problem
    • indicate

      protected void indicate(EDTRuleViolation violation) throws EDTRuleViolation
      Indicate a violation of the EDT rule. This default implementation throws the given exception, subclasses may want to log the exception instead.
      Parameters:
      violation - violation of EDT rule
      Throws:
      EDTRuleViolation