Panel.repaint()似乎不是令人耳目一新的面板

时间:2016-10-12 22:52:07

标签: java swing jpanel repaint

我在使用默认值重新绘制GUI上的JPanel时遇到了一些问题。

我现在正在使用的代码在下面,我不习惯,也不熟悉java代码,所以原谅我犯了新手的错误:

time.clock

到目前为止,我已经尝试了上面的代码,并将JPanel设置为null,重新绘制,插入面板的新实例,再次重新绘制。 到目前为止,没有什么是富有成效的,因为最终,我仍然坚持在我的GUI上显示旧面板(及其值)。

基本上,我最初创建一个绿色背景的面板,使背景变红,然后重新设置面板以再次显示绿色背景。但是最后,在点击重置后,它仍然显示红色背景的旧面板。

任何关于我可能做错/俯视的见解都将非常感激。

1 个答案:

答案 0 :(得分:3)

假设这是所有相关代码(并且UpdateGUI不使用addremove与您在那里的面板引用),那么更改对象{{1}在您的本地类中引用不会更改仍引用旧对象的其他引用。 Swing在另一个位置仍然引用旧对象pnlWagens1,从最初在某个容器上调用pnlWagens1开始。

您需要做的是从容器中add remove,像现在一样更改pnlWagens1,重新pnlWagens1 add到容器,然后拨打电话,同时呼叫容器上的pnlWagens1revalidate()

相关问题