The "border" is showing up because your overridden paint method isn't written correctly. The background for the panel is never being changed. Just take the paint method out and add this line to your constructor:
this.setBackground(bg);
There's no need to override the paint method if the only thing you need to do is change the background.
Also, to explain why your paint method is not working - the setColor method of the Graphics object doesn't do anything other than setting the color for future painting. To actually paint the background, you would need to use something like the fillRect method.
[ June 04, 2002: Message edited by: Angela Lamb ]