JavaTM Platform
Standard Ed. 6

java.beans
인터페이스 PropertyEditor

기존의 구현 클래스의 일람:
PropertyEditorSupport


public interface PropertyEditor

PropertyEditor 클래스는, 사용자가 지정의 형태의 프로퍼티치를 편집하기 위한 GUI 의 지원를 제공합니다.

PropertyEditor 는, 프로퍼티치의 표시나 코우신에 도착해 다양한 방법을 지원합니다. 대부분의 PropertyEditor 에서는, 이 API 로 사용할 수 있는 각종 옵션의 부분집합을 지원하는 것만으로 충분합니다.

단순한 PropertyEditors 가 지원하는 것은 getAsText 와 setAsText 메소드만으로, paintValue 이나 getCustomEditor 등의 지원는 불필요합니다. 보다 복잡한 것으로는, getAsText 나 setAsText 는 지원할 수 없습니다만, 대신에 paintValue 과 getCustomEditor 를 지원합니다.

각 propertyEditor 는, 다음의 3 개의 표시 스타일중 1 개(살) 이상을 반드시 지원할 필요가 있습니다. 즉, (1) isPaintable 의 지원, (2) getTags()로부터 null 가 아닌 String[] 를 돌려주어, 한편 getAsText 로부터 null 가 아닌 값을 돌려준다, 또는 (3) 단지 getAsText()로부터 null 가 아닌 String 를 돌려주는, 의 3 개(살)입니다.

각 프로퍼티 에디터는, 인수 객체가 대응하는 propertyEditor 의 형태인 경우에, setValue 의 호출을 지원할 필요가 있습니다. 한층 더 각 프로퍼티 에디터는, 커스텀 에디터 또는 setAsText 의 어느 쪽인지를 지원할 필요가 있습니다.

각 PropertyEditor 는, 인수 없음의 생성자 을 가지지 않으면 안됩니다.


메소드의 개요
 void addPropertyChangeListener (PropertyChangeListener  listener)
          PropertyChange 이벤트의 청취자를 등록합니다.
 String getAsText ()
          프로퍼티의 값을 텍스트로서 가져옵니다.
 Component getCustomEditor ()
          PropertyEditor 는, 프로퍼티치를 편집하는 완전한 커스텀 컴퍼넌트를 제공할 수가 있습니다.
 String getJavaInitializationString ()
          에디터의 현재 상태에 일치하도록(듯이) 프로퍼티을 설정하기 위해서 사용할 수 있는 Java 코드의 fragment를 돌려줍니다.
 String [] getTags ()
          프로퍼티치가 기존의 태그 첨0 보다 작은 값세트의 1 개가 아니면 안되는 경우에, 태그의 배열을 돌려줍니다.
 Object getValue ()
          프로퍼티의 값을 가져옵니다.
 boolean isPaintable ()
          이 프로퍼티 에디터가 페인트 가능한가 어떤가를 판정합니다.
 void paintValue (Graphics  gfx, Rectangle  box)
          값의 표현을 화면의 지정된 영역에 draw 합니다.
 void removePropertyChangeListener (PropertyChangeListener  listener)
          PropertyChange 이벤트의 청취자를 삭제합니다.
 void setAsText (String  text)
          지정된 String (캐릭터 라인)를 해석해 프로퍼티치를 설정합니다.
 void setValue (Object  value)
          편집하는 객체를 설정 또는 변경합니다.
 boolean supportsCustomEditor ()
          이 프로퍼티 에디터가 커스텀 에디터를 지원할지 어떨지를 판정합니다.
 

메소드의 상세

setValue

void setValue(Object  value)
편집하는 객체를 설정 또는 변경합니다. int 등의 원시형은, 대응하는 객체형 (java.lang.Integer 등)으로서 랩 될 필요가 있습니다.

파라미터:
value - 편집 대상의 새로운 타겟 객체. 이 객체는 PropertyEditor 로 변경하는 것이 아니라, PropertyEditor 로 새로운 객체를 작성해 변경된 값을 보존한다

getValue

Object  getValue()
프로퍼티의 값을 가져옵니다.

반환값:
프로퍼티의 값. int 등의 원시형은, 대응하는 java.lang.Integer 등의 객체형으로 랩 될 필요가 있다

isPaintable

boolean isPaintable()
이 프로퍼티 에디터가 페인트 가능한가 어떤가를 판정합니다.

반환값:
클래스가 paintValue 메소드를 받는 경우는 true

paintValue

void paintValue(Graphics  gfx,
                Rectangle  box)
값의 표현을 화면의 지정된 영역에 draw 합니다. propertyEditor 는, 독자적인 클리핑을 실시해, 지정된 구형내에 넣습니다.

PropertyEditor 가 draw 요구를 받아들이지 않는 경우 (isPaintable 를 참조), 이 메소드는 아무것도 실시하지 않습니다.

지정된 Graphics 객체는, 친컨테이너의 디폴트의 폰트나 색등을 가지게 됩니다. PropertyEditor 는, 폰트나 색등의 그래픽스 속성을 변경하는 일이 있어, 낡은 값을 복원할 필요는 없습니다.

파라미터:
gfx - draw 되는 그래픽 객체
box - 그래픽 객체를 draw 하는 구형

getJavaInitializationString

String  getJavaInitializationString()
에디터의 현재 상태에 일치하도록(듯이) 프로퍼티을 설정하기 위해서 사용할 수 있는 Java 코드의 fragment를 돌려줍니다. Java 코드를 생성해, 프로퍼티 에디터로 간 변경을 반영할 경우에 사용합니다.

코드의 fragment는, 문맥에 의존 해서는 안되고, JLS 로 지정된 정규의 Java 식일 필요가 있습니다.

특히 식이 계산을 나타내는 경우는, 모든 클래스와 정적 멤버를 완전 지정하도록 해 주세요. 이 규칙은 생성자 , static 메소드, 및 비프리미티브(primitive) 인수에 적용됩니다.

식을 평가할 경우에는, 그 식이 예외를 throw 할 가능성이 있기 (위해)때문에 주의가 필요합니다. 특히 코드 제네레이터는, 확인이 끝난 예외를 throw 할 가능성이 있는 식이 존재할 경우에, 생성된 코드가 확실히 컴파일 되도록(듯이) 할 필요가 있습니다.

예를 들어 다음과 같은 결과가 됩니다.

반환값:
현재가의 초기화자를 나타내는 Java 코드의 fragment. 세미콜론 (';')으로 식을 끝내지 않는 것

getAsText

String  getAsText()
프로퍼티의 값을 텍스트로서 가져옵니다.

반환값:
사용자가 편집할 수 있는 캐릭터 라인으로 표현된 프로퍼티치

편집 가능한 캐릭터 라인으로서 값을 표현할 수 없는 경우는 null

null 이외의 값이 돌려주어지면(자), PropertyEditor 는 그 캐릭터 라인을 해석해 setAsText()에 되돌린다


setAsText

void setAsText(String  text)
               throws IllegalArgumentException 
지정된 String (캐릭터 라인)를 해석해 프로퍼티치를 설정합니다. String 의 서식이 부정한 경우, 혹은 프로퍼티을 텍스트 표시할 수 없는 경우는, java.lang.IllegalArgumentException 가 throw 됩니다.

파라미터:
text - 해석되는 캐릭터 라인
예외:
IllegalArgumentException

getTags

String [] getTags()
프로퍼티치가 기존의 태그 첨0 보다 작은 값세트의 1 개가 아니면 안되는 경우에, 태그의 배열을 돌려줍니다. 예를 들어, 이것을 사용해 열거치를 표시할 수 있습니다. PropertyEditor 가 태그를 지원하는 경우, 값을 설정하는 방법으로서 태그 첨0 보다 작은 값을 가지는 setAsText 를 사용하거나 현재의 값을 식별하기 위해서 getAsText 를 사용하거나 할 수가 있습니다.

반환값:
이 프로퍼티의 태그 첨0 보다 작은 값. 이 프로퍼티을 태그 첨0 보다 작은 값으로 해서 표시할 수 없는 경우는 null

getCustomEditor

Component  getCustomEditor()
PropertyEditor 는, 프로퍼티치를 편집하는 완전한 커스텀 컴퍼넌트를 제공할 수가 있습니다. PropertyEditor 는, 에디터의 컴퍼넌트와 제휴해, PropertyChange 이벤트를 트리거해 프로퍼티치의 변경을 통지합니다.

getCustomEditor 를 호출하는 고레벨인 코드에서는, 컴퍼넌트를 보다 큰 프로퍼티 시트에 짜넣거나 독자적인 다이얼로그에 배치하거나 할 수가 있습니다.

반환값:
사용자가 현재의 프로퍼티치를 직접 편집할 수 있도록(듯이) 한다 java.awt.Component. 지원되지 않는 경우는 null

supportsCustomEditor

boolean supportsCustomEditor()
이 프로퍼티 에디터가 커스텀 에디터를 지원할지 어떨지를 판정합니다.

반환값:
propertyEditor 가 커스텀 에디터를 지원할 수 있는 경우는 true

addPropertyChangeListener

void addPropertyChangeListener(PropertyChangeListener  listener)
PropertyChange 이벤트의 청취자를 등록합니다. PropertyEditor 는, 값의 변경시에 프로퍼티명을 null 치로서 이벤트 자체를 소스로서 지정해, 등록되어 모든 PropertyChangeListeners 상에서 PropertyChange 이벤트를 트리거합니다.

파라미터:
listener - PropertyChange 이벤트가 트리거되었을 때에 불려 가는 객체

removePropertyChangeListener

void removePropertyChangeListener(PropertyChangeListener  listener)
PropertyChange 이벤트의 청취자를 삭제합니다.

파라미터:
listener - 삭제되는 PropertyChange 청취자

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.