PropertyEditorSupport 살펴보기 1
이 클래스는 JDK 1.5에 추가된 클래스 입니다. 이 클래스를 좀 살펴보겠습니다. 이 클래스는 PropertyEditor 인터페이스를 구현하고 있습니다. 아마도 PropertyEditor를 쌩으로 구현하기는 불편하니까 Custom Editor를 구현하기 편하게 만들어둔 클래스로 유추 됩니다.
PropertyEditor 인터페이스를 보겠습니다.
PeopertyEditor 클래스는 GUI에 사용자가 주어진 타입의 속성 값을 편집하고 싶을 때 이를 지원하기 위해 제공된다
PropertyEditor는 속성 값을 보여주거나 수정할 수 있는 다양한 방법을 제공한다. 대부분의 PropertyEditor는 본 API 문서에서 가용한 옵션 중에 일부만 사용해도 충분할 것이다.
간단한 PropertyEditor들은 getAsTest와 setAsText 메소드만 사용할 것이고 복잡한 타입일 경우에는 paintValue와 getCustomEditor를 사용할 것이다.
모든 PropertyEditor는 반드시 다음의 세 가지 방법 중에 한 가지 스타일로 속성을 보여주어야 한다.
1. isPaintable
2. getTags()에서 null이 아닌 String[]을 반환하고 getAsText()에서 null이 아닌 값을 반환한다.
3. getAsText()에서 null이 아닌 값을 반환한다.
모든 Property Editor들은 반드시 setValue메소드에 이 PropertyEditor를 적용할 객체를 넘겨주어야 한다. 또한 반드시 custom editor를 지원하거나 setAsText를 지원해야 한다.
각각의 PropertyEditor들은 기본 생성자를 가지고 있어야 한다.
복잡한것 같지만 대강 요약하면 다음과 같습니다.
1. 기본 생성자가 있어야 한다.
2. setValue(Object) 메소드에 넘겨줄 Object 객체는 해당 PropertyEditor가 처리할 객체여야 한다.
3. getAsText()를 구현하거나 isPaintable()을 구현해야 한다.
4. setAsText()를 구현해야 한다.
그럼 다음에는 저 많은 메소드들 중에서 딱 저 세 개의 메소드만(isPaintable()은 생략) 살펴보겠습니다.