Java-如何将KeyListener添加到UI

Java-如何将KeyListener添加到UI,java,swing,user-interface,key,listener,Java,Swing,User Interface,Key,Listener,我希望使用以下方法向整个UI添加KeyListener: frame.addKeyListener(这个) 在这个中,我有一个工作的键盘监听器,所以一切都很好 但是,当我运行程序时,KeyListener无法正常工作 这是因为我的UI只由一个JTextArea、一个JTextField和一个JLabel组成吗?我有一种感觉,我需要一些“背景”的用户界面显示,以使这项工作 请帮我解决我的情况。提前谢谢 您应该将密钥侦听器应用于JTextArea或JTextField,而不是应用于帧 当您在JTex

我希望使用以下方法向整个UI添加
KeyListener

frame.addKeyListener(这个)

这个
中,我有一个工作的
键盘监听器
,所以一切都很好

但是,当我运行程序时,
KeyListener
无法正常工作

这是因为我的UI只由一个
JTextArea
、一个
JTextField
和一个
JLabel
组成吗?我有一种感觉,我需要一些“背景”的用户界面显示,以使这项工作


请帮我解决我的情况。提前谢谢

您应该将密钥侦听器应用于JTextArea或JTextField,而不是应用于帧


当您在JTextArea或JTextField中键入一些文本时,将调用keyTyped()方法。

例如,我们使用
JFrame.getRootPane().registerKeyboardAction(java.awt.event.ActionListener,javax.swing.KeyStroke.getKeyStroke(“F12”);
来侦听来自“整个UI”的击键.

你想用你的按键监听器做什么?老实说,我正在实现Konami代码…悲哀,我知道。=DI的意思是你遇到了什么问题?你想让按键监听器做什么?我得出结论,按键()方法甚至在我按键时也没有被调用…添加了Swing标记。您正在使用Swing组件,对吗?如果是,请参阅。非常感谢!您知道我为什么不能将其添加到JFrame中吗?@JavaCoder-1337正如我在回答中所写的,当您键入一些文本时,将调用该函数。您不能在JFrame中键入文本。-1用于推荐outdatEdAPI(改用inputMap/actionMap)好的,这里有一个新api的链接