如何让文本控件响应回车事件
需求分析
当录入文本的时候想要按回车就进行提交,比如密码框输入完毕后按回车就执行提交操作。
实现步骤
添加KeyListener通过对这个文本控件添加KeyListener并监听回车事件来实现代码如下。
KDTextField searchField = new KDTextField(); searchField.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_ENTER) //do something } });
通过ActionMap绑定Enter键实现,代码如下。
private static final KeyStroke ENTER = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0); KDTextField searchField = new KDTextField(); searchField.getInputMap().put(ENTER, ENTER); searchField.getActionMap().put(ENTER, new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { //do something } });
由于GUI设置的统一的控件切换键为TAB和ENTER所以需要单独设置这个控件的切换键。
Set<KeyStroke> set = new HashSet<KeyStroke>(); set.add(KeyStroke.getKeyStroke(KeyEvent.VK_TAB, 0)); //由于默认的traversalkey为enter和tab重设为tab让后面注册的enter键生效 searchField.setFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, set);
原理解析
JavaSwing在响应键盘事件时优先从这个控件的父级控件获取FoucusTraversalKeys,如果当前的KeyCode和里面一致则将事件消耗掉,所以控件在注册key事件时需要避免和这个切换键冲突。对于控件的操作也可以使用下面的工具类来完成。
com.kingdee.bos.ctrl.swing.util.CtrlSwingUtilitie
如何让文本控件响应回车事件
需求分析当录入文本的时候想要按回车就进行提交,比如密码框输入完毕后按回车就执行提交操作。实现步骤添加KeyListener通过对这个文本控件...
点击下载文档
上一篇:如何设置序时簿某一列的日期格式下一篇:EAS如何找到界面元数据和实现类
本文2024-09-22 20:37:24发表“eas cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-eas-114834.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
- 鼎捷EAI整合規範文件V3.1.07 (集團).pdf
- 鼎捷OpenAPI應用場景說明_基礎資料.pdf
- 鼎捷OpenAPI應用場景說明_財務管理.pdf
- 鼎捷T100 API設計器使用手冊T100 APIDesigner(V1.0).docx
- 鼎新e-GoB2雲端ERP B2 線上課程E6-2應付票據整批郵寄 領取.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程A4使用者建立權限設定.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程C3會計開帳與會計傳票.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程E6-1應付票據.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程A5-1進銷存參數設定(初階篇).pdf
- 鼎新e-GoB2雲端ERP B2 線上課程D2帳款開帳與票據開帳.pdf
热门文章