2011-11-26 124 views
0

我使用键绑定上的键事件,因为我不明白键绑定。addKeyListener不能按预期工作

我做了一个JFrameJPanel与Jbutton。

我在框架的类中将JPanel作为面板实例,将JButton作为面板类中的按钮。我继续编辑小组的班级。

如果我addKeyListener与一个新的​​只是打印“按键”,没有任何反应,如果我输入任何东西。但如果我做button.addKeyListener与相同的通用​​,按下“按键”将打印时,我按下一个键。

我认为这与实例有关。所以我的第一个问题是:我如何让组件添加一个关键侦听器到自己和/或为什么不调用addKeyListener甚至this.addKeyListener这样做?

当我添加一个关键侦听器的代码继续(因为它可能应该),所以我试着做while(some boolean) thread.sleep(1000)只是当按键被按下时,关键侦听器改变布尔值。我只是想让我的代码等到一个按键被按下。我知道这并不多,但我的问题是:是否有更好或更简洁的方法来暂停方法/等待输入?

回答

2

如果我用一个新的keyAdapter添加了一个新的keyAdapter,它只是打印“按下按键”,如果我输入任何内容,则什么也不会发生。

可能是因为组成部分没有焦点。 KeyEvents仅被分派给具有焦点的组件。这不是关键绑定的问题,因为即使组件没有焦点,它们也可以处理事件。

+0

谢谢。 (还有5个去...) – Jeremy