Jtest logo




Contents  Previous  Next  Index

PB.DNCSS


Do not call 'setSize()' in 'ComponentListener.
componentResized()'

Description

This rule flags code that calls 'setSize()' inside of the 'componentResized()' method's body.

The "componentResized()" method gets called when the component's size changes. Invoking the "setSize()" method from within the "componentResized()" method can cause a non-ending sequence of resizing events:

  1. User resizes component.
  2. "componentResized()" gets invoked.
  3. "componentResized()" invokes "setSize()".
  4. "setSize()" posts a component resized event.
  5. "componentResized()" gets invoked.
  6. ...

Example

 package PB;
 
 import java.awt.*;
 import java.awt.event.ComponentEvent;
 
 public class DNCSS extends Component {
     public void componentResized (ComponentEvent e) {
         Dimension d = getSize();
         setSize(d.width -10, d.height - 10);  
	 	 // causes recursive calls.
     }                                                                              
 }

Repair

Do not call the "setSize()" method inside of the "componentResized()" method's body.


Contents  Previous  Next  Index

ParaSoft logo
(888) 305-0041 info@parasoft.com Copyright © 1996-2001 ParaSoft