我有一个带有卡片布局的应用程序,其中包含许多面板表单。我使用标签来显示每个面板中的表单状态。我想确保每当打开面板时,所有标签都会被清除,但由于在卡片布局中,面板不会每次都重新创建,而是只是打开,我似乎不知道如何操作。有什么特殊的方法可以做到吗?
最佳答案
您可以向面板添加一个Hierarchy Listener
。只要面板在 CardLayout 中可见,就会调用监听器:
@Override
public void hierarchyChanged(HierarchyEvent e)
{
JComponent component = (JComponent)e.getSource();
if ((HierarchyEvent.SHOWING_CHANGED & e.getChangeFlags()) != 0
&& component.isShowing())
{
// add your code here
}
}
关于java - 当卡片布局中的面板出现时如何执行某些操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29690420/