我还没有完全理解一些java概念,如Listeners和Adapters等,我最近在寻找一种方法来执行一些代码,当我按下Enter时,JTextField有焦点,我找到了这个代码:
JTextField.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("Enter pressed");
}
}
);
这段代码工作正常,但我不清楚JTextField如何知道我想按Enter键时执行代码。我猜测JTextField已在其代码中定义了哪些事件(如Enter press)它将“回答”。我希望有人可以帮我澄清这个疑问
答案 0 :(得分:2)
ENTER key
已实施为KeyBindings
,JFormattedTextField
,JTextField
,JPasswordField
JComponent
(字段接受)
ActionListener
您可以通过添加JComponent
ENTER key
甚至可以从AWT/Swing Listeners
到两个或更多JComboBox
,例如ActionListener
。来自ItemListener
和JComponent
KeyBindings
KeyBindings
已经实现了公共/标准加速器,类似于MS Windows(MsOffice等...),这些关键事件在Swing中实现为KeyBindings
KeyListener
答案 1 :(得分:0)
在java GUI中,用户监听(称为Listener)Actions。有很多侦听器可用于特定的GUI。例如,对于Textfield,可以侦听actio事件。 ActionEvent触发一个监听该事件的GUI,因此无论何时单击一个聚焦的GUI,它都会响应。