如何在JXDatePicker上注册KeyStroke

发布于 2024-07-18 01:38:58 字数 378 浏览 5 评论 0原文

当用户按 Enter 键时,我需要将焦点转移到另一个元素上,因此我成功以这种方式在大多数元素上注册 KeyStroke:

 this.getInputMap( ).put( KeyStroke.getKeyStroke( '\n' ), "transferFokus" );

  this.getActionMap( ).put( "transferFokus", transferFokusa );

一切正常,除了我的类扩展了 JXDatePicker,我认为它消耗了内部的 Enter 键。 我能做些什么?

重点是让人们更容易使用 GUI 界面,因为他们一直在使用旧的 DOS 应用程序,在其中使用 Enter 而不是 TAB 键在表单内移动。

I need to transfer focus onto another element when user press Enter key, so I succeded to register KeyStroke on most elements this way:

 this.getInputMap( ).put( KeyStroke.getKeyStroke( '\n' ), "transferFokus" );

  this.getActionMap( ).put( "transferFokus", transferFokusa );

everything works fine except for my class which extends JXDatePicker which I suppose consumes Enter key inside. What can I do?

The whole point is to ease people using GUI interface, since they've worked on old DOS application in which they where moving inside form with Enter instead of TAB key.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

裸钻 2024-07-25 01:38:59

从 javadoc 来看,JXDatePicker 使用 JFormattedTextField 作为日期字符串的实际编辑组件。 JXDatePicker.getEditor() 返回文本字段,因此也许您应该尝试在文本字段上调用 ​​getInputMap() 和 getActionMap() ?

From the javadoc it looks like JXDatePicker uses a JFormattedTextField for the actual editing component for the date string. JXDatePicker.getEditor() returns the text field so maybe you should try calling getInputMap() and getActionMap() on the text field?

第七度阳光i 2024-07-25 01:38:59

为了将 java.awt.event.KeyEvent 添加到 JXDatePicker,您需要获取其编辑器并向其中添加事件。 例如:

jXDatePicker1.getEditor().addKeyListener(new java.awt.event.KeyAdapter() {
    public void keyPressed(java.awt.event.keyEvent evt) {
        // Your functionality here...
    }
});

In order to add a java.awt.event.KeyEvent to a JXDatePicker, you need to get its editor and add the event to it. For example:

jXDatePicker1.getEditor().addKeyListener(new java.awt.event.KeyAdapter() {
    public void keyPressed(java.awt.event.keyEvent evt) {
        // Your functionality here...
    }
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文