我仍然没有完全理解一些java概念,比如侦听器和适配器等,最近我正在寻找一种方法,当我在JTextField具有焦点时按enter键时执行一些代码,我发现了以下代码:
JTextField.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("Enter pressed");
}
}
);这段代码运行得很好,但是我不知道当我按Enter键时,JTextField是如何知道我想要执行代码的。我猜JTextField已经在它的代码中定义了它将“应答”的事件(比如回车)。我希望有人能帮我澄清这个疑问。
发布于 2013-07-29 04:15:46
ENTER key被实现为KeyBindings (字段接受),用于JFormattedTextField,JTextField,JPasswordFieldActionListenerENTER key触发到两个或更多的AWT/Swing Listeners,例如,对于来自ActionListener和Swing的ItemListenerAWT/Swing Listeners,JComboBox已经实现了通用的/标准的加速器,类似于在微软视窗中(ActionListener等...),这些关键事件在Swing<ENTER key>H124AWT/Swing Listeners>中实现为KeyBindings,您可以添加,更改,阻止那些在中实现的事件。或者通过使用KeyBindings
KeyBindings而不是KeyListener (此处是一堆问答)发布于 2013-07-29 04:39:40
在java中,GUIs监听(称为Listener)来自用户的操作。有许多监听程序可用于特定的GUI。例如,对于Textfield,侦听actio事件。ActionEvent会触发一个监听该事件的图形用户界面,所以每当您单击一个焦点图形用户界面时,它都会响应。
https://stackoverflow.com/questions/17912167
复制相似问题