You seem to be under the impression that each call to repaint() results in a call to paint()/paintComponent().
This is not the case, which is a good thing. In general we like that mulitple calls to repaint() may be coalesced into a single paint()/paintCoponent() call. It keeps our GUIs responsive.
So, why are you trying to do this? (If you are trying to achieve an animation effect, then you probably want to call repaint() from a timer.)
[edit: Looking more closely at your code, I see I may have misjudged your problem. For example, with new ViewControl(rdius).repaint() you are requesting that a newly-instantiated ViewControl object (which is not added to any container) repaint itself. It seems what you really want to do is call myExistingViewControl.repaint(), where myExistingViewControl is a reference to a single ViewControl object that you have already added to some visible container.] [ October 08, 2007: Message edited by: Brian Cole ]