如何在 Java 中刷新 GUI



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

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

我是否需要:

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

    setVisible(true)?
    
  2. 如果我只使用上面 #1 中的语句......GUI 很好 - 直到我将鼠标移到它上面,然后我看到上一个按钮选项。我做错了什么?

Swing 组件具有 repaint()、revalidate() 和 doLayout() 方法。其中一个可能能够重新绘制您想要的任何部分。但是,doLayout不是您应该负责的事情,这是布局引擎的责任。

您可能还想查看这篇文章,第一反应有一个很好的解释,以及指向更详细文章的链接。

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

..在我的应用程序中,用户选择他们想要顶级测试的设备平台类型(该选择是左侧的两个单选按钮集)。当用户选择 Android 或 iOS 时,复选框的中心分组会发生变化,以反映他们可以测试的一组 Android 设备或他们可以测试的一组 iOS 设备。

  1. 在"中心分组"中放置一个面板。
  2. 对面板使用CardLayout
  3. 将iOS和Android控件添加到具有卡片布局的面板中。
  4. 根据需要在它们之间翻转。

在顶级组件上调用revalidate()

最新更新