|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 패키지 다음의 패키지 | 프레임 있어 프레임 없음 |
참조처:
설명
인터페이스의 개요 | |
---|---|
SynthConstants | Synth 가 사용하는 정수입니다. |
클래스의 개요 | |
---|---|
ColorType | 스타일로부터 취득할 수 있는 형태 보증된 색의 열거입니다. |
Region | Swing 컴퍼넌트의 개별의 draw 영역입니다. |
SynthContext | Region 에 관한 문맥 의존의 정보를 포함한 불변의 일시 객체입니다. |
SynthGraphicsUtils | 단순한 도형의 호출을 위한 래퍼입니다. |
SynthLookAndFeel | SynthLookAndFeel 는, 커스터마이즈 된 Look & Feel 를 작성하기 위한 기초가 되는 클래스입니다. |
SynthPainter | SynthPainter 는,JComponent 의 일부분을 페인트 할 경우에 사용합니다. |
SynthStyle | SynthStyle 는, 스타일 프로퍼티세트입니다. |
SynthStyleFactory | SynthStyle 를 취득하기 위해서 사용하는 팩토리입니다. |
Synth 는, 모든 페인트가 위양 되는 스킨 설정 가능한 Look & Feel 입니다. Synth 에는 디폴트의 외관은 없습니다. Synth 를 사용하기 위해서는,파일을 지정하는지,SynthStyleFactory
를 제공할 필요가 있습니다. 어느 쪽의 구성 옵션을 사용하는 경우도, 다음에 설명하는 합성 아키텍쳐(architecture)의 지식과 Swing 의 아키텍쳐(architecture)의 지식이 필요합니다.
특히 지정되어 있지 않은 한, Synth 패키지에 정의된 메소드에 대해서 null 는 유효한 값은 아니기 때문에, null 가 건네받으면(자),NullPointerException
가 throw 됩니다.
Synth 의 각각의 ComponentUI
구현에서는, 그 자체를 Region
마다 1 개 SynthStyle
와 관련짓습니다. 대부분의 컴퍼넌트는 Region
를 1 개 밖에 가지고 있지 않기 때문에,SynthStyle
도 1 개만됩니다. SynthStyle
는, 스타일에 관련한 프로퍼티 (폰트, 색등의 Component
의 프로퍼티)에 액세스 하기 위해서 사용됩니다. 또,Component
의 백그라운드, 경계, 포커스등의 부분을 페인트 하기 위해서 SynthPainter
를 취득할 때에도 사용됩니다. ComponentUI
는,SynthStyle
를 SynthStyleFactory
로부터 가져옵니다. SynthStyleFactory
는,SynthLookAndFeel.setStyleFactory(javax.swing.plaf.synth.SynthStyleFactory)
를 개입시켜 직접 제공하는 일도,SynthLookAndFeel.load(java.io.InputStream, java.lang.Class >)
(을)를 개입시켜 간접적으로 제공할 수도 있습니다. 다음의 예에서는,SynthLookAndFeel.load()
메소드를 사용해 SynthLookAndFeel
를 구성해, 그것을 현재의 Look & Feel 로서 설정해 있습니다.
SynthLookAndFeel laf = new SynthLookAndFeel(); laf.load(MyClass.class.getResourceAsStream("laf.xml"), MyClass.class); UIManager.setLookAndFeel(laf);
많은 JComponent
는 작게 분할되어Region
내의 형태 보증된 열거에 의해 식별됩니다. 예를 들어,JTabbedPane
은,JTabbedPane
용의 Region
(Region.TABBED_PANE
), 컨텐츠 영역 (Region.TABBED_PANE_CONTENT
), 탭의 배후에 있는 영역 (Region.TABBED_PANE_TAB_AREA
), 및 탭 (Region.TABBED_PANE_TAB
)으로부터 구성됩니다. 각 JComponent
의 각 Region
에는 SynthStyle
가 1 개씩 있습니다. 이것에 의해, 각 JComponent
의 각 영역의 개개의 부분을 커스터마이즈 할 수 있습니다.
많은 Synth 메소드는 SynthContext
를 취합니다. 이것은, 현재의 Component
에 관한 정보를 제공하기 위해서 사용되어 현재 Region
에 관련지을 수 있었던 SynthStyle
,Component
상태를 나타내는 비트 마스크 (유효한 상태에 대해서는,SynthConstants
를 참조), 페인트 되는 Component
의 부분을 식별하는 Region
등이 포함되어 있습니다.
JTextComponent
이외에 밤텍스트의 렌더링은 모두,SynthGraphicsUtils
에 위양 됩니다. 이것은,SynthStyle
메소드 SynthStyle.getGraphicsUtils(javax.swing.plaf.synth.SynthContext)
를 사용해 취득됩니다. 텍스트 렌더링을 커스터마이즈 하는 경우는, 독자적인 SynthGraphicsUtils
를 지정합니다.
Synth 는, 트리의 셀용의 영역
이 예에서는, 선택되고 있을 때는 흰 바탕에 빨강, 선택되어 있지 않을 때는 붉은 바탕에 흰색의 색의 편성을 지정하고 있습니다. 백그라운드를 표시하려면 , 라벨을 투명하게 할 필요가 있습니다. 이 때문에는, 다음의 XML (발췌)를 사용합니다.
JList 와 JTable 의 렌더링으로 사용하는 색은, 리스트 영역과 테이블 영역을 사용해 지정합니다. 다음의 XML (발췌)는, 선택되고 있을 때는 흰 바탕에 빨강, 선택되어 있지 않을 때는 붉은 바탕에 흰색의 색을 지정하는 방법을 나타내고 있습니다.
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요. Region.TREE_CELL
를 제공합니다. 렌더링의 색을 지정하려면 ,TREE_CELL
영역에 스타일을 제공합니다. 다음에, 이 예를 나타냅니다.
<style id="treeCellStyle">
<opaque value="TRUE"/>
<state>
<color value="WHITE" type="TEXT_FOREGROUND"/>
<color value="RED" type="TEXT_BACKGROUND"/>
</state>
<state value="SELECTED">
<color value="RED" type="TEXT_FOREGROUND"/>
<color value="WHITE" type="BACKGROUND"/>
</state>
</style>
<bind style="treeCellStyle" type="region" key="TreeCell"/>
<style id="labelStyle">
<opaque value="FALSE"/>
</style>
<bind style="labelStyle" type="region" key="Label"/>
JList 와 JTable
<style id="style">
<opaque value="TRUE"/>
<state>
<color value="WHITE" type="TEXT_FOREGROUND"/>
<color value="RED" type="TEXT_BACKGROUND"/>
<color value="RED" type="BACKGROUND"/>
</state>
<state value="SELECTED">
<color value="RED" type="TEXT_FOREGROUND"/>
<color value="WHITE" type="TEXT_BACKGROUND"/>
</state>
</style>
<bind style="style" type="region" key="Table"/>
<bind style="style" type="region" key="List"/>
개요
패키지
클래스
사용
계층 트리
비추천 API
색인
헬프
JavaTM Platform
Standard Ed. 6
전의 패키지
다음의 패키지
프레임 있어
프레임 없음
버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.