2016-07-05 2 views
0

JTextField에 삽입 된 숫자 만 허용하는 문서 필터를 설정 했으므로 JTextField의 내용이 변경되면 작업을 수행하는 방법을 실행하고 싶습니다.문서 필터 대 변경된 수신기

내 문서 필터 또는 설정 이벤트 처리기에서 메소드를 실행하는 것이 더 좋습니다 (Java에서는 수신기라고도 함). 성능에 큰 차이가 없으면 Java에 관해서는 더 나은 방법이라고 생각합니다. dev?

+0

개인적으로 'field + only numbers'는 나에게 'SpinnerNumberModel' ('ChangeListener' 첨부)이있는'JSpinner'를 말합니다. –

+0

Spinner가 잘 보이지만, 존재하지 않지만, 내 애플 리케이션의 내용에 실제로는 유용하지 않습니다. – user2842801

답변

1

DocumentFilter은 입력 된 텍스트를 편집하는 데 사용할 수 있습니다. 또는 JFormattedTextField (DocumentFilter를 사용)을 사용할 수도 있습니다.

DocumentListener은 텍스트가 변경 될 때 알림을 받기 위해 사용해야합니다.

+0

그래서 'DocumentListener'를 사용해야한다고 말합니다. 텍스트가 변경 될 때 'DocumentFilter'메서드를 추가하십시오. – user2842801

+0

@ user2842801, 수정하십시오. "a"를 입력하면 DocumentFilter는 문자를 거부하여 DocumentListener는 호출되지 않습니다. 유효한 수를 삽입하거나 수를 제거한 경우에만 DocumentListener가 호출됩니다. – camickr