Java中的键绑定无法正常工作

时间:2015-02-09 06:54:56

标签: java

这个问题可能非常小,但让我感到沮丧。我一直试图制作一个小程序来解决关键问题,但它给出了错误。

    public static void key() {
    //another way to use the JComonent class?
    JComponent component;
    Main main = new Main();
    JFrame frame = new JFrame();
    frame.getContentPane().add(main);

    Action test = new AbstractAction() {
        public void actionPerformed(ActionEvent e) {
        }
    };
    //"The local variable component may not have been initialized" for component
    component.getInputMap().put(KeyStroke.getKeyStroke("A"), "test");
    component.getActionMap().put("test", test);
}

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您永远不会为JComponent component;分配值。这就是您收到错误的原因。

您可以将其更改为JComponent component = null;,错误消失了。但是你在运行时在行component.getInputMap().put(KeyStroke.getKeyStroke("A"), "test");中得到一个NPE,所以你必须为`component分配一个合适的值。