JTextAreas가 있고 추가, 제거 또는 변경된 문자를 가져와야합니다. 어떻게해야합니까?DocumentListener에서 추가, 삭제 또는 변경된 문자를 가져 오는 방법은 무엇입니까?
답변
추가하기가 쉽습니다. 단지 DocumentListener 만 사용하십시오.
추가 및 제거를 처리하려면 DocumentFilter를 사용할 수 있습니다. 텍스트를 추가/제거 할 때 replace() 메서드가 호출됩니다.
편집 :
DocumentFilter를이 제거에 호출되지 않습니다. 따라서 중복 문서를 유지하는 것 이외에 제거에 대해 알 수있는 유일한 방법은 사용자 지정 문서를 만들고 remove (...) 메서드를 재정의하는 것입니다. 그런 다음 문서에서 제거되기 전에 문자열을 추출 할 수 있습니다.
오프셋 및 길이 (그리고 심지어 소스 Document
)를 얻을 수 있으므로 문자를 읽을 수 있습니다. 제거 된 문자가 무엇인지 알고 싶다면 문서 내용의 사본을 보관해야합니다.
스윙 문서는 스레드로부터 안전합니다 (hehe). 그러나 다른 스레드에서 여러 변경 사항이 발생하면 (이벤트가 항상 재미있게하기 위해 EDT에서 항상 실행됩니다) 문자 데이터가 최신이 아닐 수도 있습니다. 당신이 이것에 관해 할 수있는 일이별로 없습니다. 심지어 다른 이벤트 리스너도 간접적으로 문서 내용을 변경시킬 수 있습니다.
일반적으로 이벤트가있는 쉬운 방법은 이벤트 개체를 모두 무시하는 것입니다. 당신이 알아야 할 것은 당신이 듣고있는 대상에서 변경되었을 수도있는 것입니다. 이렇게하면 강력하고 이해하기 쉬운 코드를 얻을 수 있습니다. 변경 사항을 실제로 처리해야하는 경우, camickr에 언급 된 DocumentFilter
은 swingall.jar 이후 Swing에 추가 된 유용한 항목입니다 (더 좋은 기본 L & F 충실도 제외).
(참고, 많은 사람들이 DocumentListener.changedUpdate에 대한 문서를 읽어 실패 -, 그렇지 문자를 변경 속성에 적용됩니다.) 내가 정확히 기억한다면 빈 문자열
- 1. 다양한 문자를 가져 오는 방법은 무엇입니까? (알파벳)
- 2. Mercurial - 일련의 변경 집합에서 변경된 파일을 가져 오는 방법은 무엇입니까?
- 3. TFS : 솔루션을로드 할 때 변경된 파일을 가져 오는 방법은 무엇입니까?
- 4. 문자를 가져 오는 스캐너 메서드
- 5. excel에서 chinese 문자를 oracle로 가져 오는 방법
- 6. SQL에서 문자열의 첫 번째 문자를 가져 오는 방법은 무엇입니까?
- 7. oracle에서 문자열의 4 문자를 가져 오는 방법은 무엇입니까?
- 8. utf8 문자열에서 utf8이 아닌 다른 문자를 가져 오는 방법은 무엇입니까?
- 9. 이메일을 가져 오는 방법은 무엇입니까?
- 10. PLActorKit을 가져 오는 방법은 무엇입니까?
- 11. 기본 저장소에서 가져 오기 전에 변경된 파일 목록을 가져 오는 방법은 무엇입니까?
- 12. 내부 애플리케이션 데이터를 추가/가져 오는 방법은 무엇입니까?
- 13. VSTO 추가 기능에서 읽기 창 참조를 가져 오는 방법은 무엇입니까?
- 14. 선택한 추가 컨트롤에서 Grid.Row Grid.Column을 가져 오는 방법은 무엇입니까?
- 15. JavaScript에서 ASCII 값으로 문자열 또는 문자를 만드는 방법은 무엇입니까?
- 16. JTextArea에서 텍스트를 가져 오는 방법은 무엇입니까?
- 17. 컨텍스트 메뉴에서 텍스트를 가져 오는 방법은 무엇입니까?
- 18. nutch에서 파일 확장명을 가져 오는 방법은 무엇입니까?
- 19. ListViewItem에서 ListView를 가져 오는 방법은 무엇입니까?
- 20. 웹 페이지에서 국제 문자를 가져 오는 중입니까?
- 21. 특수 문자를 Excel에서 SQLIte로 가져 오는 방법
- 22. URL에서 OSM xml 또는 json 데이터를 가져 오는 방법은 무엇입니까?
- 23. asp.net mvc에서 datalisttext 또는 selectedtext의 값을 가져 오는 방법은 무엇입니까?
- 24. 개체 또는 클래스의 메서드 목록을 가져 오는 방법은 무엇입니까?
- 25. : 입력 된 태그의 이름 또는 ID를 가져 오는 방법은 무엇입니까?
- 26. OpenSUSE 또는 Ubuntu에서 Java 콘솔을 가져 오는 방법은 무엇입니까?
- 27. 정수 나누기에서 분수를 가져 오는 방법은 무엇입니까?
- 28. 포어를 가져 오는 빈 테이블에서 삭제
- 29. 술어 본문을 가져 오는 방법은 무엇입니까?
- 30. PHP에서 필드 값을 가져 오는 방법은 무엇입니까?
DF.replace()가 호출 –