文本字段中的键码?

时间:2013-11-29 17:18:13

标签: java frameworks vaadin

我需要为扩展文本字段的金钱值创建一个类,当我输入所有值时,我想格式化它。 我正在读这本书,但是当我输入值时,我不明白如何获得密钥代码。

任何想法或例子?

感谢

2 个答案:

答案 0 :(得分:1)

您可以1)添加Action Listener,告知您关键事件。实施Handler Interface

// Have the unmodified Enter key cause an event
Action action_ok = new ShortcutAction("Default key", ShortcutAction.KeyCode.ENTER, null);

Action[] actions = new Action[] {action_ok};

public Action[] getActions(Object target, Object sender) {
    if (sender == myPanel)
        return actions;

    return null;
}

/**
 * Handle actions received from keyboard. This simply directs
 * the actions to the same listener methods that are called
 * with ButtonClick events.
 */
public void handleAction(Action action, Object sender, Object target) {
    if (action == action_ok) {
        okHandler();
    }
}

您可以将操作处理程序添加到PanelWindow

// Set this object as the action handler
panel.addActionHandler(this);

对于所有信息,请查看here,尤其是11.5.2字段焦点快捷方式。

2)但我建议在9.2.3下使用Converter更多信息here

答案 1 :(得分:0)

按下/键入/释放键盘键时会生成键码。所有这些都属于Java中的KeyEvent类别。首先将键侦听器绑定到文本字段。在该方法中,您将收到KeyEvent的对象,该对象具有名为getKeyCode()的方法,其中包含当前键入的键的密钥代码。如需更多帮助,请参阅以下链接:
http://docs.oracle.com/javase/7/docs/api/java/awt/event/KeyEvent.html http://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html