Question: I have a general question that is Java related.

I am writing an application that has a GUI menu. I am trying to change one part of the GUI menu based on the selection of a Radio button.

Do I need to:

1. Redraw the whole window or just update that part with:

```
setVisible(true)?

```
2. If I just use the statement from #1 above .. the GUI is fine -- until I move the mouse over it and then I see the previous button choice. What am I doing wrong?

Answer: 
Swing components have a repaint(), revalidate(), and doLayout() method. One of those should probably be able to redraw whichever pieces you want. However, doLayout is not something that you should be taking responsibility for, that's the layout engines responsibility.

You may also want to check out [this post](https://stackoverflow.com/questions/1097366/java-swing-revalidate-vs-repaint "this post"), the first response has a pretty good explanation, and links to an article with more detail.

In terms of the second part of your question, I'm not sure, but we may need to see some code to get an idea. Is the 'replaced area' actually being removed from the view?
Call `revalidate()` on the top level component.