2017-11-18 6 views
0

Java, JavaFX 마찬가지로, TextArea가 KeyEvent를 무시하고이 KeyEvent 대신 sth를 사용하도록 강제 할 수 있습니다. 차라리 KeyEvent에서 캐릭터를 추가하는 메소드를 덮어 쓰고 싶습니다.TextArea가 JavaFX의 KeyEvent를 무시합니다.

예를 Fo로 : 내가 텍스트 영역에서 키보드의 'K'를 클릭하면 내가 그것을 (텍스트 영역에 추가되지 않음) 콘솔

답변

1

친구로 인쇄하려는이 시도 :

TextArea textArea = new TextArea(); 
textArea.addEventFilter(KeyEvent.KEY_TYPED, e -> { 
    if (e.getCharacter().equals("k")) { 
     e.consume(); 
    } 
}); 

또는 :

TextArea textArea = new TextArea(); 
textArea.setOnKeyTyped(e -> { 
    if (e.getCharacter().equals("k")) { 
     e.consume(); 
    } 
}); 
+0

어디에 넣어야합니까? 만약 내가 그것을 제어하는 ​​fxml 파일을 내 Java 클래스에 넣으려고하면 doeasnt 메소드 setOnKeyTyped를 인식한다. –

+0

나는 이것을 초기화 메소드에서 시도하지만 여전히 'k'라고 쓰고있다. –

+0

KEY_TYPED의 KEY_PRESSED insted가 올바르게 실행된다. THX –