2013-08-06 156 views
0

我在我的CardLayout中有KeyListenerJava卡片佈局,KeyListener停止工作

KeyListener listener = new MyKeyListener(); 
addKeyListener(listener); 
setFocusable(true); 

它工作得很好。問題是,當我從我的主屏幕管理退出此JPanel

private CardLayout cl; 
cl.show(cardPanel, "1"); 

,回來給它的KeyListener停止工作。如何在顯示JPanel時再次喚起KeyListener

回答

2

KeyListeners有焦點問題,雖然你已經設置了可聚焦的組件,但你還沒有requestFocusInWindow當視圖改回來。

取而代之的是,使用Key Bindings其中有更大的焦點處理控制