Java KeyListener不工作
我刚刚设法让KeyListener在一个空的应用程序中工作,但后来我尝试在我的应用程序中实现它,但它根本不起作用,不管我输入多少键 一位朋友告诉我,这是因为我在应用程序上有按钮(JButton)(我实现了actionPerformed方法),有人能向我解释为什么会发生这种情况(以及如何修复它) 编辑:- 是的,问题是关于焦点,我在一些论坛上找到了解决方案,而且解决方案非常简单。它是通过添加:Java KeyListener不工作,java,event-handling,Java,Event Handling,我刚刚设法让KeyListener在一个空的应用程序中工作,但后来我尝试在我的应用程序中实现它,但它根本不起作用,不管我输入多少键 一位朋友告诉我,这是因为我在应用程序上有按钮(JButton)(我实现了actionPerformed方法),有人能向我解释为什么会发生这种情况(以及如何修复它) 编辑:- 是的,问题是关于焦点,我在一些论坛上找到了解决方案,而且解决方案非常简单。它是通过添加: 设置聚焦(真);之后,设置为可见(true);在将JFrame.扩展到wich组件的类中,是否添加了Ke
设置聚焦(真);之后,设置为可见(true);在将JFrame.扩展到wich组件的类中,是否添加了KeyListener?我认为,如果你想在整个计算器中收听KeyEvents,你必须将其添加到按钮所在的容器中 但是我相信只有具有焦点的组件才能接收KeyEvents,因此我不知道容器是否具有焦点,或者如果焦点位于计算器的按钮上,事件是否会升级到其父级
你可以通过在容器中添加一个keyListener来解决这个问题(打印我支持的字符),在按钮和文本字段中添加一个keyListener,将事件升级到它的容器中我不知道要添加什么,因为代码太大了,不能放在这里!这是一个计算器。我有一个扩展JFrame的类,上面添加了按钮(从1到9),我还添加了一个textfield。然后我通过实现ActionListener界面的ActionPerformed方法来处理数字按钮引起的事件。将代码简化为可以发布的内容。在这个过程中,你要么自己发现问题,要么到了有人能真正帮助你的地步。。。我刚刚接受了两个答案!我会这样做,但主要问题是:在侦听JButtons和侦听键(通过将帧添加到侦听器列表)之间是否存在任何干扰?