PropertyEditor (Java Platform SE 6) - xrath.com 에서 번역됨

개요 | 패키지 | 클래스 | 사용 | 계층 트리 | 비추천 API | 색인 | 헬프

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 할 가능성이 있는 식이 존재할 경우에, 생성된 코드가 확실히 컴파일 되도록(듯이) 할 필요가 있습니다.

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

  - 프리미티브(primitive)식: `2`
  - 클래스 생성자: `new java.awt.Color(127,127,34)`
  - static 필드: `java.awt.Color.orange`
  - static 메소드:`javax.swing.Box.createRigidArea(new java.awt.Dimension(0, 5))`

  반환값:
    현재가의 초기화자를 나타내는 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 청취자

개요 | 패키지 | 클래스 | 사용 | 계층 트리 | 비추천 API | 색인 | 헬프

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 도 참조해 주세요.