首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有keyTyped事件的Java操作命令

带有keyTyped事件的Java操作命令
EN

Stack Overflow用户
提问于 2014-03-31 12:55:55
回答 2查看 739关注 0票数 1

我有一个JTextField,我用setActionCommand(String s)方法设置了一个操作命令。似乎只有在使用actionPerformed事件时才能获得此操作命令。

但是,我需要使用一个JTexteField事件从我的keyTyped中获得一些签名,因为我使用了几个JTextFields,并且需要区分输入了哪一个Enter键。下面是keyTyped事件的片段:

代码语言:javascript
复制
public void keyTyped(KeyEvent k) {
    String id = k.getComponent().getClass().getSimpleName();

    if (KeyEvent.VK_ENTER == k.getKeyChar() && "JTextField".equals( id )) {
        JTextField tempTxt = (JTextField) k.getComponent();
        // Here I would like to get my JTextField signature, such as k.getActionCommand() with actionPerformed() method
    }
}

我怎么能这么做?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-31 13:02:13

但是,我需要使用一个JTexteField事件从我的keyTyped中获得一些签名,因为我使用了几个JTextFields,并且需要区分输入了哪一个Enter键。下面是keyTyped事件的片段:

  • 使用ActionListener添加到JTextField而不是KeyListener
  • JTextComponents使用DocumentListener/DocumentFilter
  • 那么最简单的方法就是
代码语言:javascript
复制
1. [setName/getName](http://docs.oracle.com/javase/8/docs/api/java/awt/Component.html#setName-java.lang.String-)
2. [putClientProperty/getClientProperty](http://docs.oracle.com/javase/8/docs/api/javax/swing/JComponent.html#putClientProperty-java.lang.Object-java.lang.Object-)

票数 2
EN

Stack Overflow用户

发布于 2014-03-31 12:59:59

您只需在您拥有的每个JTextField上使用JTextField,然后您就可以通过调用k.getComponent().getName()来区分它们

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

https://stackoverflow.com/questions/22762118

复制
相关文章

相似问题

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