-1

我正在尝试制作一个 KeyEventListener 但它从不打印任何东西。我已经有一个主课,我需要“注册”还是什么?

    package client;

    import java.awt.event.KeyEvent;
    import java.awt.event.KeyListener;

    public class KeyEventListener implements KeyListener
    {

        @Override
        public void keyPressed(KeyEvent arg0)
        {       
            System.out.print("HI1");        
        }

        @Override
        public void keyReleased(KeyEvent arg0)
        {       
            System.out.print("HI2");        
        }

        @Override
        public void keyTyped(KeyEvent arg0)
        {       
            System.out.print("HI3");        
        }   
    }
4

1 回答 1

2
  • AWT/Swing 组件必须在窗口中是可聚焦的或焦点所有者,否则永远不会对关键事件和顶级容器做出反应

  • 不要在没有重要原因的情况下使用 KeyListener,例如同时按下三个或更多键,ei

  • Swing 改为使用 KeyBindings,因为 KeyListener 不是为 Swing JComponents 指定的,或者与 KeyBindings 相比导致了一些副作用

  • 更多信息公司 Oracle 教程中的工作代码示例,在此处搜索更多详细信息或详细说明

  • 为了获得更好的帮助,请尽快发布SSCCE,简短,可运行,可编译

于 2013-07-17T17:26:33.623 回答