PropertyEditor
PropertyEditor (속성 편집기 인터페이스)
PropertyEditor 클래스는 사용자가 주어진 타입의 속성 값을 편집할 수 있게 허용하고자 하는 GUI에 대한 지원을 제공해요. 속성 값을 표시하고 업데이트하는 다양한 방식이 지원돼요. 대부분의 PropertyEditor는 이 API에서 제공하는 여러 옵션 중 일부만 지원하면 되는데, 간단한 편집기는 getAsText와 setAsText만 지원하면 되고, paintValue나 getCustomEditor는 지원하지 않아도 돼요.
본문
더 복잡한 타입은 getAsText를 지원하지 못할 수도 있지만, 자체적인 커스텀 편집기(getCustomEditor)를 제공할 수는 있어요. 이 인터페이스를 구현하는 클래스는 빈 편집 도구에서 속성 값을 표시·편집하는 데 사용돼요.
주요 메서드는 다음과 같아요.
void setValue(Object value)
Object getValue()
boolean isPaintable()
void paintValue(Graphics gfx, Rectangle box)
String getJavaInitializationString()
String getAsText()
void setAsText(String text) throws IllegalArgumentException
String[] getTags()
setValue()/getValue()— 속성의 현재 값을 설정하거나 얻어요.isPaintable()/paintValue(gfx, box)— 값을 직접 그려서 표시할 수 있는지 여부와 그리는 메서드예요.getJavaInitializationString()— 속성 값을 만드는 Java 코드 문자열을 반환해요.getAsText()/setAsText(text)— 속성 값을 텍스트로 표시·파싱해요.getTags()— 값을 선택할 수 있는 태그(후보 값) 배열을 반환해요. 없으면null이에요.
기본 구현 클래스로 PropertyEditorSupport가 있어요.