2011-10-21 3 views
1

VKBImplementationFactory에서 VKBImplementationFactory을 초기화했습니다.필드를 편집 할 때 TextField에 연결된 VirtualKeyboard를 여는 방법은 무엇입니까?

public void startApp() { 
     VKBImplementationFactory.init(); 
     Display.init(this); 
     new MenuPrincipalForm(this).show(); 
    } 

또한 VirtualKeyboard를 양식에 만들었습니다.

그리고이 VirtualKeyboard를 TextField에 바인딩했습니다.

cintxt=new TextField(); 
VirtualKeyboard.bindVirtualKeyboard(cintxt, vkNombre); 

dataChangeListener 이 TextField에 :

public class ModifierFicheClient extends Form implements ActionListener, DataChangedListener 
{ 
    ... 
    cintxt.addDataChangeListener(this); 
    ... 
} 

dataChanged(int type, int index) 메서드에서 vkNombre VirtualKeyBoard를 열고 싶습니다. TextField을 클릭하면 VirtualKeyboard이 자동으로 표시된다는 것을 알고 있습니다. 하지만 휴대 전화 스크롤 소프트 버튼을 통해 TextField로 이동하면 TextField로 이동할 수 있으며 아무 것도 입력 할 필요가 없습니다. 그래서 휴대 전화에 문자를 입력 할 때 VirtualKeyboard을 호출하는 방법은 무엇입니까?

NB : dataChanged(int type, int index) 메서드에서 System.out.println("zzzz");을 썼고 one character을 입력하면 출력 결과 두 줄 "zzzz"가 출력됩니다! 그래서 하나의 문자 만 입력하면 dataChanged 메서드가 two times라고하는 이유는 무엇입니까?

+0

미안 확실하지, TextField에 초점을 맞추면서 VKB을 표시하기위한 샘플 코드를 참조하십시오. http://lwuit.blogspot.com/2010/06/pimp-virtualkeyboard-by-chen-fishbein.html – Mun0n

+0

아니요, 아무 일도 일어나지 않습니다. –

답변

1

startApp()에 사용할 필요가 없습니다. LWUIT가 해당 모바일이 터치 스크린인지 여부를 자동으로 감지하기 때문입니다. LWUIT 1.5 또는 이전 버전을 사용할 때 수치 제한은 VKB에서 작동하지 않습니다. 해당 버전에서는 bug입니다. 그러나 current repository version of LWUIT (수정본 : 1605)에서 수정 될 예정입니다. 따라서 저장소에서 체크 아웃하고 최신 LWUIT jar를 사용할 수 있습니다.

업데이트 :

는 "전화 모바일 스크롤 SoftButtons"를 호출하는 것을 이해하기

TextField textField = new TextField(); 
final VirtualKeyboard keyboard = new VirtualKeyboard(); 
textField.addFocusListener(new FocusListener() { 

    public void focusGained(Component cmp) 
      keyboard.show(); 
    } 
    public void focusLost(Component cmp) { 
      keyboard.dispose(); 
    } 
}); 
keyboard.setTextField(textField); 
+0

NO! 'VKBImplementationFactory.init();'반드시 startApp()에 필요합니다 !!! 나는 그것을 삭제하려고 노력했고 VKB는 필드를 클릭 할 때 보이지 않습니다 !!! KARANA TAY !!! –

+0

LWUIT의 버전을 사용하고 계십니까? – bharath

+0

내가 사용하는 LWUIT의 버전은'VKBImplementationFactory.init()'을 사용하는 1.4 –