如何在Java中刷新GUI?

iro*_*s7x 5 java user-interface swing

我有一个与Java相关的一般问题.

我正在编写一个具有GUI菜单的应用程序.我试图根据单选按钮的选择更改GUI菜单的一部分.

我需要:

  1. 重绘整个窗口或只更新该部分:

    setVisible(true)?
    
    Run Code Online (Sandbox Code Playgroud)
  2. 如果我只使用上面#1中的语句.. GUI就可以了 - 直到我将鼠标移到它上面然后我看到前面的按钮选择.我究竟做错了什么?

sho*_*shi 6

Swing组件有一个repaint(),revalidate()和doLayout()方法.其中一个应该能够重绘你想要的任何一块.但是,doLayout不是你应该承担的责任,这是布局引擎的责任.

您可能还想看看这篇文章,第一个回复有一个很好的解释,并链接到更详细的文章.

就你问题的第二部分而言,我不确定,但我们可能需要看一些代码来获得一个想法.实际上是否从视图中删除了"替换区域"?