TextUI

TextUI (텍스트 편집기 사용자 인터페이스)

텍스트 편집기의 사용자 인터페이스를 담당하는 추상 클래스입니다. JTextComponent 계열의 문서 모델(model)과 화면의 뷰(view)가 어떻게 연관되는지를 다룹니다.

직접 알려진 하위 클래스로는 BasicTextUIMultiTextUI가 있으며, 이 클래스는 문서의 위치를 화면 좌표로(또는 그 반대로) 변환하는 핵심 메서드들을 추상 메서드로 정의합니다.

출처: Java API Reference

본문

생성자는 protected TextUI()로 하위 클래스에서 호출합니다.

주요 추상 메서드로는 다음이 있습니다.

  • modelToView(...) — 모델의 위치를 뷰 좌표계로 변환합니다. (자바 9부터 modelToView2D가 이를 대체)

  • viewToModel(...) — 뷰 좌표를 모델에서 가장 가까운 위치로 변환합니다. (자바 9부터 viewToModel2D가 이를 대체)

  • getNextVisualPositionFrom(...) — 캐럿을 놓을 수 있는 다음 시각적 위치를 결정합니다.

  • damageRange(...) — 모델의 특정 부분을 담당하는 뷰 영역을 다시 그리도록 합니다.

  • getEditorKit(JTextComponent t) — 편집 중인 문서 종류에 대한 정책을 담은 EditorKit 바인딩을 가져옵니다.

  • getRootView(JTextComponent t) — 텍스트 컴포넌트의 루트 뷰를 가져옵니다.

자바 9에서 추가된 modelToView2D, viewToModel2D, getToolTipText2D 같은 2D 좌표 기반 메서드는 기본 구현이 기존 1D 메서드를 호출하는 방식으로 동작합니다. 좌표 변환 메서드는 잘못된 위치가 주어지면 BadLocationException을 던질 수 있으며, 잘못된 방향 상수가 전달되면 IllegalArgumentException을 던집니다.

더 알아보기 (Learn more)

Java 공식 API