当前位置: 首页 > 面试题库 >

如何刷新Java中的GUI?

宇文勇
2023-03-14
问题内容

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

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

我需要:

  1. 重新绘制整个窗口,或仅使用以下内容更新该部分:

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


问题答案:

Swing组件具有repaint(),revalidate()和doLayout()方法。其中之一应该可以重绘您想要的任何部分。但是,您不应该对doLayout负责,这是布局引擎的责任。

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

关于您的问题的第二部分,我不确定,但是我们可能需要查看一些代码来了解一下。实际上是从视图中删除了“替换区域”吗?



 类似资料:
  • 我用碎片制作了一个mediaplayer应用程序;歌曲、专辑、艺术家、流派、播放列表 这是我的一个片段中的代码,我将以艺术家为例 在我的initRecyClaire View()方法中,我有一个名为“项目”的数组列表,其中包含歌曲艺术家。Main.songs.get艺术家- 现在,当用户点击一个艺术家时,另一个活动将启动ListSong sActivity.java 这是类中的代码ListSong

  • 我有一个。当我单击listview行的按钮时,将在,我有定制listView适配器中按钮的。我将该按钮的点击保存在sqlite中,通过该sqlite,我将更新gridview适配器。 因此,我的问题是,当我单击按钮时,GridView本身不会更新,当我关闭应用程序并再次打开时,它会更新。 我尝试使用,但不起作用。 这是自定义列表视图适配器中的代码 和这个在主要活动 ImageAdapter代码。

  • 问题内容: 我在这里阅读,但是如果xml文件更改,jtree不会重新加载/ refreshes 如何创建刷新/重新加载Jtree的函数, 我尝试编写代码: 但我收到错误:java.lang.NullPointerException 问题答案: 我添加了一个新的,以在。您可能需要从构造函数中重构出来;为了方便起见,我已经对其进行了硬编码:

  • 当我单击一个按钮(刷新页面中的数据,释放缓存)主页时,我想刷新页面我的主页中有一个列表。有一个功能可以更改列表上的项目。但当我更改项目并重定向到主页时,它会显示以前的值,直到刷新页面为止,我只想在按下按钮时刷新(清除主页上的缓存)。控制器处于$状态。go(“应用程序订阅”) 我写了这个。如何更改它?

  • 问题内容: 这是一个困扰我几个小时的问题,我 自己无法找到解决方案…… 我在网上发现了类似的话题,但是我找不到 很好的解释并且尽可能简单的解决方案的完全相同的问题。我也 看过EDT和SwingWorker API文档,但对 我来说太复杂了:( 所以,让我们说清楚。我有一个带有JLabel的简单JFrame,其中 包含我的图像: It’s invoked by this piece of code:

  • 在Java中,如何在不创建新实例的情况下更新/刷新日期对象中的时间?下面的代码可以工作,但我不想为计时器创建两次新实例。有没有更好的方法来实现这一点?在我的实际代码中,我需要在一个循环中完成这项工作,而我不能每次都创建一个新实例。我只想创建一次对象,然后尽可能将其更新到当前时间。 上面代码的输出是: 开始时间[ms]:1647614880579 结束时间[ms]:1647614880841 时差[