repaint() isn't exactly the method you are looking for... I think jrookie is saying that you can dynamically add and remove components from your frame. You can use the remove() and add() methods... then you'll need to call invalidate() or validate(), not repaint(). However, all of this is handled much more understandably by using CardLayout... which is why I'm unsure of why you don't want to use it...