Как установить настраиваемый код виртуальной клавиатуры в сгенерированный код машины состояний редактора ресурсов (LWUIT или Codenameone)

Прежде чем я решил сделать этот вопрос, я искал ответ здесь, но не нашел. Извините за мой плохой английский, но это не мой родной язык.

Вот моя проблема:

Я создал приложение LWUIT 1.5, сгенерированное из редактора ресурсов для Netbeans, и я хочу настроить VirtualKeyboard с помощью своих собственных кнопок, а затем привязать их к TextField, но я не знаю, ГДЕ поместить код. Я попытался поместить его в форму "MyForm" BeforeShow или в PostShow, например:

protected void beforeMyForm(Form f) {
   // If the resource file changes the names of components this call will break notifying you that you should fix the code
super.beforeMyForm(f);

VirtualKeyboard vkb = new VirtualKeyboard();

//I declared the new input
String[][] CALC_NUM = new String[][]{
        {"1", "3", "5",},
        {"7", "9", "0",},
        {".","$OK$"}
};
//Added the new input mode
vkb.addInputMode("137_C", CALC_NUM);
vkb.setInputModeOrder(new String[]{"137_C"});

//Bind the vkb to my TextField
VirtualKeyboard.bindVirtualKeyboard(findTfCalc(Display.getInstance().getCurrent()), vkb);

}

В beforeShow есть исключение NullPointerException, а в postShow ничего не происходит.

В Свойствах TextField ограничение является Числовым. Я знаю, что есть ошибка с ограничением числового значения и пароля, но я пытался задать ЛЮБОЕ ограничение для TextField, но оно не работает.

Может ли кто-нибудь помочь мне? Это было бы так же, как в коденамоне? Большое спасибо.

1 ответ

Ты используешь Display.getInstance().getCurrent() вместо использования fв методе before show новая форма еще не является текущей.

http://codenameone.blogspot.com/2010/06/pimp-virtualkeyboard-by-chen-fishbein.html

Другие вопросы по тегам