2013-11-29 4 views
0

Мне нужно создать класс для денежных значений, который расширяет текстовое поле, когда я ввожу все значения, которые я хочу отформатировать для денег. Я читаю книгу, но не понимаю, как получить коды ключей при вводе со значениями.Keycode в текстовом поле?

любая идея или пример?

благодаря

+0

1. Какое действие должно инициировать форматирование? 2. Где вы хотите поместить форматированные значения? – rpozarickij

ответ

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(); 
    } 
} 

Вы можете добавить обработчик действий к Panel или Window

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

Для всей информации имеют вид here особенно под 11.5.2 фокусирования Shortcuts.

2) Но я рекомендую использовать Converter дополнительную информацию here под 9.2.3.

0

Ключ генерируется код, когда клавиша клавиатуры нажата/набранный/отпущена. Все они относятся к категории KeyEvent в Java. Сначала привяжите прослушиватель клавиш к текстовому полю. В этом методе вы получите объект 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

+0

yep, но я использую vaadin7, и я не знаю, как getkeycode – FernandoPaiva

+0

@FernandoPaiva - Не могли бы вы предоставить ссылку для Vaadin7? Я нашел веб-сайт для создания пользовательского интерфейса, и ваш вопрос связан с рабочим столом Java. – Arpit

Смежные вопросы