首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于ActionPerformed和ActionEvent

关于ActionPerformed和ActionEvent
EN

Stack Overflow用户
提问于 2013-07-29 03:48:37
回答 2查看 151关注 0票数 0

我仍然没有完全理解一些java概念,比如侦听器和适配器等,最近我正在寻找一种方法,当我在JTextField具有焦点时按enter键时执行一些代码,我发现了以下代码:

代码语言:javascript
复制
JTextField.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        System.out.println("Enter pressed");
    }
}
);

这段代码运行得很好,但是我不知道当我按Enter键时,JTextField是如何知道我想要执行代码的。我猜JTextField已经在它的代码中定义了它将“应答”的事件(比如回车)。我希望有人能帮我澄清这个疑问。

EN

回答 2

Stack Overflow用户

发布于 2013-07-29 04:15:46

  • ENTER key被实现为KeyBindings (字段接受),用于JFormattedTextFieldJTextFieldJPasswordField
  • this通知程序通过调用ActionListener (通知程序,API中的方法)生成事件,用于上午。你可以通过添加ActionListener
  • another来监听这个事件,甚至可以从ENTER key触发到两个或更多的AWT/Swing Listeners,例如,对于来自ActionListener和Swing的ItemListener
  • most的AWT/Swing ListenersJComboBox已经实现了通用的/标准的加速器,类似于在微软视窗中(ActionListener等...),这些关键事件在Swing

<ENTER key>H124AWT/Swing Listeners>中实现为KeyBindings,您可以添加,更改,阻止那些在中实现的事件。或者通过使用KeyBindings

  • its关于良好实践来添加、定义自己的快捷键,以使用KeyBindings而不是KeyListener (此处是一堆问答)
票数 2
EN

Stack Overflow用户

发布于 2013-07-29 04:39:40

在java中,GUIs监听(称为Listener)来自用户的操作。有许多监听程序可用于特定的GUI。例如,对于Textfield,侦听actio事件。ActionEvent会触发一个监听该事件的图形用户界面,所以每当您单击一个焦点图形用户界面时,它都会响应。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17912167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档