2017-01-12 7 views
0

사용자가 TextField에 데이터를 "붙여 넣을"수 없게하는 방법이 있습니까? ChangeListener을 설정했지만 keyboardInput과 붙여 넣기 동작을 구별하는 방법을 찾을 수 없습니다. 하나의 특정 사항은 다음과 같습니다.JavaFX의 특정 TextField에 "붙여 넣기"작업을 제한하는 방법은 무엇입니까?

myChangeListener = (ObservableValue<? extends String> observable, String oldValue, String newValue) -> { 
    if(Math.abs(newValue.length() - oldValue.length()!=1){ 
     //definitely paste - entered more than one symbol 
    } 
}; 

사용자는 한 번에 한 문자를 붙여 넣을 수도 있습니다. 이것은 내가 잡을 수없는 시나리오입니다. 미리 감사드립니다.

답변

4

예상되는 동작이므로이 작업은 이상하게 들릴 수 있습니다. 그것은 어떤 조합 없습니다 있도록하지만 당신은 단지 paste() 메소드를 오버라이드 (override) 할 수 있습니다

TextField myTextField = new TextField() { 
    @Override 
    public void paste() { } 
}; 
+0

감사합니다 !!!! 정확히 내가 무엇을 찾고 있었는지! –