Java 如何在不聚焦文本字段的情况下接收击键?

Java 如何在不聚焦文本字段的情况下接收击键?,java,swing,usb,jtextfield,Java,Swing,Usb,Jtextfield,在我的Swing应用程序中,我使用一个使用USB端口连接到机器上的条形码扫描仪。我想触发一个行动(弹出一个窗口),一旦一些东西是扫描使用条形码扫描仪。在扫描完成之前,我没有聚焦任何文本字段(例如,JTextField) 但是,如果我现在扫描某个内容而不聚焦于文本字段,那么它正在扫描,并且没有向应用程序注册值,就像我们在键盘上按A、B、C、D而不将光标聚焦于文本字段区域一样。我需要在扫描发生时在内部通知应用程序,并在文本字段中注册来自条形码扫描仪的值 如何执行此操作?您可以将KeyListener

在我的Swing应用程序中,我使用一个使用USB端口连接到机器上的条形码扫描仪。我想触发一个行动(弹出一个窗口),一旦一些东西是扫描使用条形码扫描仪。在扫描完成之前,我没有聚焦任何文本字段(例如,
JTextField

但是,如果我现在扫描某个内容而不聚焦于文本字段,那么它正在扫描,并且没有向应用程序注册值,就像我们在键盘上按
A、B、C、D
而不将光标聚焦于文本字段区域一样。我需要在扫描发生时在内部通知应用程序,并在文本字段中注册来自条形码扫描仪的值


如何执行此操作?

您可以将KeyListener添加到包括窗口在内的任何组件中。因此,如果至少有什么事情是重点,你会收到的事件


此外,您还可以使用AWTEventListener:
Toolkit.getDefaultToolkit().addAWTEventListener(监听器,事件掩码)
。使用eventMask获得您感兴趣的事件。这允许在AWT级别获取事件。即使您的应用程序中有10个单独的窗口,并且希望捕获所有窗口中的事件,您也可以在一个地方完成

任何输入框。。与JTextFieldFor
JTextField
一样,使用
setText(String)
(与当前实现的任何无意义操作相反)。我不支持任何其他组件,比如“
JTextField
”(除非明确标识)。JFormattedTextField with InputMask@Andrew Thompson:我不是在寻找在JTextField中设置文本的方法。我正在寻找某种通知,通知我当扫描条码扫描仪上完成。顺便说一下,谢谢您的编辑:)