SynthLookAndFeel
SynthLookAndFeel (맞춤 룩앤필의 기반)
맞춤형 룩앤필(look and feel)을 만들기 위한 기반을 제공하는 룩앤필 클래스입니다. SynthLookAndFeel 자체는 외형을 직접 제공하지 않으며, 모든 그리기는 위임됩니다.
구성 파일을 load(java.io.InputStream, java.lang.Class) 메서드로 불러오거나, setStyleFactory(javax.swing.plaf.synth.SynthStyleFactory)로 자신만의 SynthStyleFactory를 제공해야 합니다.
본문
SynthIcon 인터페이스는 paintIcon(synthContext, graphics, x, y, width, height) 메서드를 제공해 주어진 SynthContext로 아이콘을 그릴 수 있게 해 줍니다.
주의: 이 클래스는 BasicLookAndFeel을 상속하면서 생긴 부수 효과로 Serializable을 구현하지만, 직렬화를 목적으로 만든 것은 아닙니다. 직렬화를 시도하면 NotSerializableException이 발생합니다.
주요 메서드로는 다음이 있습니다.
-
SynthLookAndFeel()— 생성자입니다. -
createUI(JComponent c)— 전달받은JComponent에 대한 Synth 룩앤필ComponentUI를 만듭니다. -
load(InputStream, Class)— 구성 파일에서 룩앤필을 초기화합니다. -
setStyleFactory(SynthStyleFactory)— 기본 스타일 팩토리를 설정합니다. -
getStyleFactory(),getStyle(JComponent, Region),updateStyles(Component)등이 있습니다.
사용 예시는 SynthLookAndFeel laf = new SynthLookAndFeel(); UIManager.setLookAndFeel(laf);처럼 룩앤필 인스턴스를 만들어 등록하고, 구성 파일을 불러오거나 스타일 팩토리를 설정하는 흐름입니다.