我正在编写一个只听取按键操作的课程。我正在使用它与JFrame,所以我使用键绑定。 getWindow()方法返回一个JFrame窗口,该窗口已经创建并且工作正常。但是,键绑定要么不起作用,要么未调用操作。
无论如何,这是我的代码,keys.java:
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class keys extends Thread{
private JFrame window;
public keys(){
snake getInfo = new snake();
window = getInfo.getWindow();
}
public void run(){
System.out.println("keys us called");
Action pressed = new AbstractAction(){
public void actionPerformed(ActionEvent e){
System.out.println("working");
}
};
JPanel content = (JPanel)window.getContentPane();
content.getInputMap().put(KeyStroke.getKeyStroke("SPACE"), "pressed");
content.getActionMap().put("pressed", pressed);
}
}
Keys在一个单独的线程上运行,以便程序可以继续。我还没有用java编写很长时间,所以如果这是一个荒谬的问题,我很抱歉。我也从未使用过键绑定。提前感谢您的帮助。