我有一个GUI。
此GUI类扩展了JFrame。
在屏幕顶部有一个带有一些文字的JLabel。
在屏幕的中央有一个JPanel,并且在这个JPanel中添加了n x n个JButtons。
如果我按一个键,我需要一个KeyListener来作出反应。
对于什么组件(JFrame,JLabel,JPanel,JButtons)我应该添加KeyListener来正常工作我的程序?
答案 0 :(得分:2)
JFrame将是最明智的选择,因为它是一个顶级祖先,你可以避免焦点问题。但是,如果您说要实现JTextField,则需要将keylistener添加到JTextField,因为焦点是从并行组件中提取出来的,以便能够键入字段。
答案 1 :(得分:1)
我应该在哪个组件中添加KeyListener?
你可以使用Keylistener(被指定)
史前AWT组件(基于AWT的Swing)
同时为3个以上的keyPressed或确定订单
但是对于Swing JComponents 最好使用KeyEventDispatcher或AWTEventListener(两者都对键盘中的信号做出反应)