4

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

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

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

一切正常,除了我的类扩展了 JXDatePicker,我想它在里面消耗了 Enter 键。我能做些什么?

重点是让人们使用 GUI 界面更轻松,因为他们使用过旧的 DOS 应用程序,在该应用程序中,他们使用 Enter 键而不是 TAB 键在表单内部移动。

4

2 回答 2

3

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

于 2009-05-04T11:39:06.320 回答
1

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

jXDatePicker1.getEditor().addKeyListener(new java.awt.event.KeyAdapter() {
    public void keyPressed(java.awt.event.keyEvent evt) {
        // Your functionality here...
    }
});
于 2020-10-26T21:08:21.400 回答