我正在制作一个程序必须显示一个面板的游戏,并从该面板显示上一个面板,然后再次显示第一个面板。
为了简单起见,我们假设PanelA和PanelB位于CardLayout c
面板中。该程序以c.show(panelc, "PanelB"); panelb.requestFocus();
开头。然后,在PanelB中,会发生这种情况:c.show(panelc, "PanelA")
。然后,在PanelA中,同样的事情再次发生:c.show(panelc, "PanelB"); panelb.requestFocus();
第一次,requestFocus()与我的KeyListener完美配合,游戏运行正常。但是第二次显示panelb时,似乎requestFocus不起作用而且KeyListener没有响应任何事件。