背景
我的窗口是 java.awt.Frame,Frame 内部是两个面板 (java.awt.Panel)。我正在努力让窗口处理我按下的按钮。
尝试 1 号
我尝试使用 KeyListener,使 Frame 实现 KeyListener。我将 KeyListener 添加到 Frame 中,但是当我按下键时 KeyListener 函数没有做任何事情。(我尝试使用 System.out.println() 进行打印。)
试试 2 号
我尝试遵循本教程:http ://tips4java.wordpress.com/2008/10/10/key-bindings/ 。这是我尝试处理按空格键的操作:
public void registerActions(){ //01
Action myAction = new AbstractAction(){ //02
@Override //03
public void actionPerformed(ActionEvent e) { //04
System.out.println("GREAT SUCCESS!"); //05
} //06
}; //07
KeyStroke key = KeyStroke.getKeyStroke(KeyEvent.VK_SPACE, 0); //08
component.getInputMap().put(key, "myAction"); //09
component.getActionMap().put("myAction", myAction); //10
} //11
主要问题是我不知道第 09 行和第 10 行中的“组件”应该是什么,因为我的应用程序没有任何 JComponents。
我的问题
有没有办法在不使用摆动组件的情况下做到这一点?还是有另一种处理按键的方法?