JavaTM Platform
Standard Ed. 6

javax.swing.text
클래스 StyleContext

java.lang.Object 
  상위를 확장 javax.swing.text.StyleContext
모든 구현된 인터페이스:
Serializable , AbstractDocument.AttributeContext
직계의 기존의 서브 클래스:
StyleSheet


public class StyleContext
extends Object
implements Serializable , AbstractDocument.AttributeContext

서식 및 관련하는 자원의 풀입니다. 이 클래스는, 다양한 서식 정의에 의해 재사용되는 폰트 및 색등이 다양한 자원의 캐쉬를 보관 유지하는 컨테이너가 되는 것으로, 자원의 그룹의 수명을 결정합니다. 필요한 경우, 이것은 관련 자원을 최대한으로 공유하기 위해서 복수의 문서로 공유할 수 있습니다.

또, 이 클래스는, 속성의 작은 세트에 대한 효율적인 지원를 제공해, 사용을 공유하는 것으로 속성을 압축해, 그러한 변경 불가능한 성질을 최대한으로 이용합니다. 많은 서식은 복제되므로, 공유의 가능성이 커져, 카피가 몇번이나 사용됩니다. 큰 세트는 공유의 가능성을 감소시키므로, 필연적으로 용량 효율이 뒤떨어진 구현이 됩니다.

경고: 이 클래스의 직렬화 된 객체는, 향후의 Swing 릴리스와 호환은 아니게 될 예정입니다. 현재의 직렬화의 지원는, 단기간의 운용이나, 같은 버젼의 Swing 를 실행하는 어플리케이션간의 RMI 에 적절하고 있습니다. JDK Version 1.4 이후, 모든 JavaBeans 의 장기간의 운용 지원는,java.beans 패키지에 추가되고 있습니다. 자세한 것은,XMLEncoder 를 참조해 주세요.


상자의 클래스의 개요
 class StyleContext.NamedStyle
          일반적으로, 문자 및 단락의 서식을 나타내기 위해서(때문에) 사용되는 속성의 컬렉션입니다.
 class StyleContext.SmallAttributeSet
          이 클래스는, 소수의 속성을 배열로서 포함합니다.
 
필드의 개요
static String DEFAULT_STYLE
          단락에 접속되는 디폴트의 논리 서식에 붙일 수 있는 이름입니다.
 
생성자 의 개요
StyleContext ()
          새로운 StyleContext 객체를 작성합니다.
 
메소드의 개요
 AttributeSet addAttribute (AttributeSet  old, Object  name, Object  value)
          지정된 세트에 속성을 추가해, 그 새로운 세트를 돌려줍니다.
 AttributeSet addAttributes (AttributeSet  old, AttributeSet  attr)
          속성 세트를 요소에 추가합니다.
 void addChangeListener (ChangeListener  l)
          서식이 추가 또는 삭제될 때 변경을 추적하는 청취자를 추가합니다.
 Style addStyle (String  nm, Style  parent)
          서식 계층에 새로운 서식을 추가합니다.
protected  MutableAttributeSet createLargeAttributeSet (AttributeSet  a)
          메모리 효율보다 처리 시간을 우선하는, 큰 사이즈의 속성 세트를 작성합니다.
protected  StyleContext.SmallAttributeSet createSmallAttributeSet (AttributeSet  a)
          공유 가능하고 컴팩트한 속성 세트를 작성합니다.
 Color getBackground (AttributeSet  attr)
          속성 세트를 취득해 백그라운드 칼라 지정으로 변환합니다.
 ChangeListener [] getChangeListeners ()
          addChangeListener()로 이 StyleContext 에 추가되는, 모든 ChangeListener 의 배열을 돌려줍니다.
protected  int getCompressionThreshold ()
          일의로 변경이 불가능한 세트에 압축을 시도하는 키와 값의 페어의 최대수를 돌려줍니다.
static StyleContext getDefaultStyleContext ()
          독자적인 문맥을 정의 또는 공급하지 않는 모든 문서에 의해 공유되는, 디폴트의 AttributeContext 를 돌려줍니다.
 AttributeSet getEmptySet ()
          빈 상태(empty)의 속성 세트를 가져옵니다.
 Font getFont (AttributeSet  attr)
          속성 세트로부터 폰트를 가져옵니다.
 Font getFont (String  family, int style, int size)
          새로운 폰트를 가져옵니다.
 FontMetrics getFontMetrics (Font  f)
          폰트메트릭스를 돌려줍니다.
 Color getForeground (AttributeSet  attr)
          속성 세트를 취득해 foreground 칼라 지정으로 변환합니다.
static Object getStaticAttribute (Object  key)
          직전에 registerStaticAttributeKey 에 등록된 객체를 돌려줍니다.
static Object getStaticAttributeKey (Object  key)
          key 에 등록되는 String 를 돌려줍니다.
 Style getStyle (String  nm)
          문서에 이전에 추가된 이름 첨부의 서식을 가져옵니다.
 Enumeration <? > getStyleNames ()
          정의되고 있는 서식의 이름을 가져옵니다.
 void readAttributes (ObjectInputStream  in, MutableAttributeSet  a)
          속성을 읽어들이는 문맥 고유의 처리입니다.
static void readAttributeSet (ObjectInputStream  in, MutableAttributeSet  a)
          지정된 객체 입력 스트림로부터,writeAttributeSet 로 이전에 기입해지고 있는 속성 세트를 읽어들입니다.
 void reclaim (AttributeSet  a)
          MutableAttributeSet 의 구현에 의해 필요하게 되지 않게 된 세트를 돌려줍니다.
static void registerStaticAttributeKey (Object  key)
          객체를, 속성 세트로 키로서 사용되는 static 객체로서 등록합니다.
 AttributeSet removeAttribute (AttributeSet  old, Object  name)
          세트로부터 속성을 삭제합니다.
 AttributeSet removeAttributes (AttributeSet  old, AttributeSet  attrs)
          요소의 속성 세트를 삭제합니다.
 AttributeSet removeAttributes (AttributeSet  old, Enumeration <? > names)
          요소의 속성 세트를 삭제합니다.
 void removeChangeListener (ChangeListener  l)
          서식의 추가 또는 삭제를 추적하고 있던 청취자를 삭제합니다.
 void removeStyle (String  nm)
          이전에 문서에 추가된 이름 첨부 서식을 삭제합니다.
 String toString ()
          서식 문맥을 캐릭터 라인으로 변환합니다.
 void writeAttributes (ObjectOutputStream  out, AttributeSet  a)
          속성을 기입하는 문맥 고유의 처리입니다.
static void writeAttributeSet (ObjectOutputStream  out, AttributeSet  a)
          직렬화를 위해서(때문에), 지정된 객체 스트림에 속성 세트를 기입합니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait
 

필드의 상세

DEFAULT_STYLE

public static final String  DEFAULT_STYLE
단락에 접속되는 디폴트의 논리 서식에 붙일 수 있는 이름입니다.

관련 항목:
정수 필드치
생성자 의 상세

StyleContext

public StyleContext()
새로운 StyleContext 객체를 작성합니다.

메소드의 상세

getDefaultStyleContext

public static final StyleContext  getDefaultStyleContext()
독자적인 문맥을 정의 또는 공급하지 않는 모든 문서에 의해 공유되는, 디폴트의 AttributeContext 를 돌려줍니다.

반환값:
문맥

addStyle

public Style  addStyle(String  nm,
                      Style  parent)
서식 계층에 새로운 서식을 추가합니다. 서식의 속성은 아래에서 위로 향해 해석 처리되므로, 아이로 지정된 속성은 부모로 지정된 속성을 오버라이드(override) 합니다.

파라미터:
nm - 서식의 이름. 이름 첨부 서식의 컬렉션 중(안)에서 일의일 필요가 있다. 서식에 이름을 지정하지 않는 경우, 이름이 null 가 될 수도 있지만, 이름이 없는 서식은 이름으로 취득할 수 없기 때문에, 반환되는 참조는 호출해 옆에서 관리할 필요가 있다. 이름이 없는 서식은, 스타일 런으로 볼 수 있는 것 같은 문자 속성의 오버라이드(override)등으로 편리한 경우가 어느
parent - 친서식. 지정되어 있지 않은 속성이 다른 서식에서 해석 처리될 필요가 없는 경우는 null 도 가능
반환값:
작성된 서식

removeStyle

public void removeStyle(String  nm)
이전에 문서에 추가된 이름 첨부 서식을 삭제합니다.

파라미터:
nm - 삭제되는 서식의 이름

getStyle

public Style  getStyle(String  nm)
문서에 이전에 추가된 이름 첨부의 서식을 가져옵니다.

파라미터:
nm - 서식의 이름
반환값:
서식

getStyleNames

public Enumeration <? > getStyleNames()
정의되고 있는 서식의 이름을 가져옵니다.

반환값:
이름의 열거의 리스트

addChangeListener

public void addChangeListener(ChangeListener  l)
서식이 추가 또는 삭제될 때 변경을 추적하는 청취자를 추가합니다.

파라미터:
l - 변경 청취자

removeChangeListener

public void removeChangeListener(ChangeListener  l)
서식의 추가 또는 삭제를 추적하고 있던 청취자를 삭제합니다.

파라미터:
l - 변경 청취자

getChangeListeners

public ChangeListener [] getChangeListeners()
addChangeListener()로 이 StyleContext 에 추가되는, 모든 ChangeListener 의 배열을 돌려줍니다.

반환값:
추가된 모든 ChangeListener, 추가된 청취자가 없는 경우는 빈 상태(empty)의 배열
도입된 버젼:
1.4

getFont

public Font  getFont(AttributeSet  attr)
속성 세트로부터 폰트를 가져옵니다. 이 메소드는, 지정된 속성 세트에 대해서, 캐쉬된 폰트의 취득을 시도하기 위해서(때문에) 구현됩니다. 이 취득이 실패했을 경우, 폰트 기능이 해석 처리되어 폰트는 저레벨의 폰트 캐쉬로부터 취득됩니다.

파라미터:
attr - 속성 세트
반환값:
폰트

getForeground

public Color  getForeground(AttributeSet  attr)
속성 세트를 취득해 foreground 칼라 지정으로 변환합니다. 이 메소드는, 밝음이나 색조등을 강조하기 위해서 사용되는 일이 있습니다. 디폴트에서는, 단순하게 StyleConstants.Foreground 속성으로 지정된 값을 돌려줍니다.

파라미터:
attr - 속성 세트
반환값:

getBackground

public Color  getBackground(AttributeSet  attr)
속성 세트를 취득해 백그라운드 칼라 지정으로 변환합니다. 이 메소드는, 밝음이나 색조등을 강조하기 위해서 사용되는 일이 있습니다. 디폴트에서는, 단순하게 StyleConstants.Background 속성으로 지정된 값을 돌려줍니다.

파라미터:
attr - 속성 세트
반환값:

getFont

public Font  getFont(String  family,
                    int style,
                    int size)
새로운 폰트를 가져옵니다. 이 메소드는, 폰트가 캐쉬되고 있는 경우에 캐쉬로부터 폰트를 돌려줍니다. 폰트가 캐쉬되어 있지 않은 경우, 폰트가 캐쉬에 추가됩니다. 이것은, 기본적으로 1.1 의 폰트 기능의 저레벨의 캐쉬입니다.

파라미터:
family - 폰트 패밀리 ( 「Monospaced」 등)
style - 폰트의 서식 (Font.PLAIN 등)
size - 포인트 사이즈 >= 1
반환값:
신규 폰트

getFontMetrics

public FontMetrics  getFontMetrics(Font  f)
폰트메트릭스를 돌려줍니다.

파라미터:
f - 폰트
반환값:
메트릭스

addAttribute

public AttributeSet  addAttribute(AttributeSet  old,
                                 Object  name,
                                 Object  value)
지정된 세트에 속성을 추가해, 그 새로운 세트를 돌려줍니다.

이 메소드는 thread에 대해서 안전합니다만, 대부분의 Swing 메소드는 다릅니다. 자세한 것은,「How to Use Threads」를 참조해 주세요.

정의:
인터페이스 AbstractDocument.AttributeContext 내의 addAttribute
파라미터:
old - 구속성 세트
name - null 이외의 속성명
value - 속성치
반환값:
갱신 속성 세트
관련 항목:
MutableAttributeSet.addAttribute(java.lang.Object, java.lang.Object)

addAttributes

public AttributeSet  addAttributes(AttributeSet  old,
                                  AttributeSet  attr)
속성 세트를 요소에 추가합니다.

이 메소드는 thread에 대해서 안전합니다만, 대부분의 Swing 메소드는 다릅니다. 자세한 것은,「How to Use Threads」를 참조해 주세요.

정의:
인터페이스 AbstractDocument.AttributeContext 내의 addAttributes
파라미터:
old - 구속성 세트
attr - 추가하는 속성
반환값:
갱신 속성 세트
관련 항목:
MutableAttributeSet.addAttribute(java.lang.Object, java.lang.Object)

removeAttribute

public AttributeSet  removeAttribute(AttributeSet  old,
                                    Object  name)
세트로부터 속성을 삭제합니다.

이 메소드는 thread에 대해서 안전합니다만, 대부분의 Swing 메소드는 다릅니다. 자세한 것은,「How to Use Threads」를 참조해 주세요.

정의:
인터페이스 AbstractDocument.AttributeContext 내의 removeAttribute
파라미터:
old - 구속성 세트
name - null 이외의 속성명
반환값:
갱신 속성 세트
관련 항목:
MutableAttributeSet.removeAttribute(java.lang.Object)

removeAttributes

public AttributeSet  removeAttributes(AttributeSet  old,
                                     Enumeration <? > names)
요소의 속성 세트를 삭제합니다.

이 메소드는 thread에 대해서 안전합니다만, 대부분의 Swing 메소드는 다릅니다. 자세한 것은,「How to Use Threads」를 참조해 주세요.

정의:
인터페이스 AbstractDocument.AttributeContext 내의 removeAttributes
파라미터:
old - 구속성 세트
names - 속성명
반환값:
갱신 속성 세트
관련 항목:
MutableAttributeSet.removeAttributes(java.util.Enumeration)

removeAttributes

public AttributeSet  removeAttributes(AttributeSet  old,
                                     AttributeSet  attrs)
요소의 속성 세트를 삭제합니다.

이 메소드는 thread에 대해서 안전합니다만, 대부분의 Swing 메소드는 다릅니다. 자세한 것은,「How to Use Threads」를 참조해 주세요.

정의:
인터페이스 AbstractDocument.AttributeContext 내의 removeAttributes
파라미터:
old - 구속성 세트
attrs - 속성
반환값:
갱신 속성 세트
관련 항목:
MutableAttributeSet.removeAttributes(java.util.Enumeration)

getEmptySet

public AttributeSet  getEmptySet()
빈 상태(empty)의 속성 세트를 가져옵니다.

정의:
인터페이스 AbstractDocument.AttributeContext 내의 getEmptySet
반환값:
세트

reclaim

public void reclaim(AttributeSet  a)
MutableAttributeSet 의 구현에 의해 필요하게 되지 않게 된 세트를 돌려줍니다. 이 메소드는, 약참조가 없는 1.1 에서의 처리에 편리합니다. 일반적으로, 이 메소드는 MutableAttributeSet 의 구현의 finalize 메소드에 의해 불려 갑니다.

이 메소드는 thread에 대해서 안전합니다만, 대부분의 Swing 메소드는 다릅니다. 자세한 것은,「How to Use Threads」를 참조해 주세요.

정의:
인터페이스 AbstractDocument.AttributeContext 내의 reclaim
파라미터:
a - 재생하는 세트

getCompressionThreshold

protected int getCompressionThreshold()
일의로 변경이 불가능한 세트에 압축을 시도하는 키와 값의 페어의 최대수를 돌려줍니다. 이 제한을 넘는 세트는 해시 테이블을 사용해, MutableAttributeSet 가 됩니다.

반환값:
임계치

createSmallAttributeSet

protected StyleContext.SmallAttributeSet  createSmallAttributeSet(AttributeSet  a)
공유 가능하고 컴팩트한 속성 세트를 작성합니다. 이것은, 서브 클래스에서 SmallAttributeSet 의 동작을 변경하고 싶은 경우에, 서브 클래스에서 이용하기 위한 훅입니다. 이 메소드는, 속성 변환을 제공하는 AttributeSet 를 돌려주기 위해서(때문에), 다시 구현할 수도 있습니다.

파라미터:
a - 컴팩트한 형식에서 표현된다 속성 세트

createLargeAttributeSet

protected MutableAttributeSet  createLargeAttributeSet(AttributeSet  a)
메모리 효율보다 처리 시간을 우선하는, 큰 사이즈의 속성 세트를 작성합니다. 일반적으로, 이 세트의 공유는 곤란합니다. 이것은, 큰 사이즈의 속성 포함 형식 (디폴트에서는 SimpleAttributeSet)의 동작을 서브 클래스에서 변경할 필요가 있는 경우에, 서브 클래스에서 이용하기 위한 훅입니다. 이 메소드는, 속성 변환을 제공하는 MutableAttributeSet 를 돌려주기 위해서(때문에), 다시 구현할 수도 있습니다.

파라미터:
a - 사이즈의 큰 형식에서 표현된다 속성 세트

toString

public String  toString()
서식 문맥을 캐릭터 라인으로 변환합니다.

오버라이드(override):
클래스 Object 내의 toString
반환값:
캐릭터 라인

writeAttributes

public void writeAttributes(ObjectOutputStream  out,
                            AttributeSet  a)
                     throws IOException 
속성을 기입하는 문맥 고유의 처리입니다.

예외:
IOException

readAttributes

public void readAttributes(ObjectInputStream  in,
                           MutableAttributeSet  a)
                    throws ClassNotFoundException ,
                           IOException 
속성을 읽어들이는 문맥 고유의 처리입니다.

예외:
ClassNotFoundException
IOException

writeAttributeSet

public static void writeAttributeSet(ObjectOutputStream  out,
                                     AttributeSet  a)
                              throws IOException 
직렬화를 위해서(때문에), 지정된 객체 스트림에 속성 세트를 기입합니다. 이 메소드는 특별히 주의해,registerStaticAttributeKey 메소드로 등록되어 있는 static 속성 키를 처리합니다. static 키로서 등록되지 않은 속성 키는 직접 직렬화 됩니다. 모든 값이 직렬화 가능합니다.

파라미터:
out - 출력 스트림
a - 속성 세트
예외:
IOException - 입출력 에러가 발생했을 경우

readAttributeSet

public static void readAttributeSet(ObjectInputStream  in,
                                    MutableAttributeSet  a)
                             throws ClassNotFoundException ,
                                    IOException 
지정된 객체 입력 스트림로부터,writeAttributeSet 로 이전에 기입해지고 있는 속성 세트를 읽어들입니다. 이 메소드는,registerStaticAttributeKey 메소드로 등록되어 있는 키만을 고려하는 현재의 가상 머신으로 static 객체였던 키를 static 객체에 복원하려고 합니다. 스트림로부터 꺼내진 속성은, 지정된 변경이 가능한 세트에 배치됩니다.

파라미터:
in - 속성 데이터를 읽어들이는 객체 스트림
a - 속성 정의를 배치한다 속성 세트
예외:
ClassNotFoundException - 객체 스트림을 읽어들일 때 검출되었을 경우, 위에게 건네진다
IOException - 객체 스트림을 읽어들일 때 검출되었을 경우, 위에게 건네진다

registerStaticAttributeKey

public static void registerStaticAttributeKey(Object  key)
객체를, 속성 세트로 키로서 사용되는 static 객체로서 등록합니다. 그 결과, 그 키는 특별히 직렬화가 처리되게 됩니다.

1.1 가상 머신상에서의 처리의 경우, 이 메소드는 클래스명에 연결된 toString 에 의해 반환되는 값을 사용합니다. toString 에 의해 반환되는 값은, 나중에 재계산될 때 같게 되도록(듯이) 하기 위해서는, 그 중에 클래스 참조를 갖게할 수 없습니다. 그것은, Object 내의 정의로부터 재구현되지 않으면 안됩니다.

파라미터:
key - null 이외의 객체 키

getStaticAttribute

public static Object  getStaticAttribute(Object  key)
직전에 registerStaticAttributeKey 에 등록된 객체를 돌려줍니다.


getStaticAttributeKey

public static Object  getStaticAttributeKey(Object  key)
key 에 등록되는 String 를 돌려줍니다.

관련 항목:
getStaticAttribute(java.lang.Object) , registerStaticAttributeKey(java.lang.Object)

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