UIManager

UIManager (룩앤필과 기본값 관리)

UIManager은 현재 룩앤필, 사용 가능한 룩앤필 집합, 룩앤필 변경 시 알림을 받는 PropertyChangeListener, 룩앤필 기본값, 그리고 다양한 기본값을 얻기 위한 편의 메서드를 관리해요. Serializable을 구현해요.

출처: Java API Reference

본문

룩앤필 지정

룩앤필은 두 가지 방식으로 지정할 수 있어요: 룩앤필 클래스의 완전한 이름(FQCN)을 지정하거나, LookAndFeel 인스턴스를 생성해 setLookAndFeel에 전달하는 방식이에요. 시스템 룩앤필로 설정하는 예시는 다음과 같아요:

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

클래스 이름으로 설정하는 예시는 다음과 같아요:

UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");

룩앤필을 변경한 후에는 모든 JComponent에서 updateUI를 호출하는 것이 필수예요. SwingUtilities.updateComponentTreeUI(java.awt.Component) 메서드는 포함 계층구조에 updateUI를 적용하기 쉽게 해줘요. 룩앤필 변경 후 updateUI를 호출하지 않으면 예상치 못한 예외, 그리기 문제, 또는 더 심각한 문제가 발생할 수 있어요.

기본 룩앤필

기본 룩앤필에 사용되는 클래스는 다음 방식으로 선택돼요: 시스템 프로퍼티 swing.defaultlaf가 null이 아니면 그 값을 기본 룩앤필 클래스 이름으로 사용해요. swing.properties 파일이 존재하고 swing.defaultlaf 키를 포함하면 그 값을 기본 룩앤필 클래스 이름으로 사용해요.

LookAndFeel

UIManager의 중첩 클래스로 UIManager.LookAndFeelInfo가 있어요, 설치된 룩앤필에 대한 정보를 제공해요. setLookAndFeel, getCrossPlatformLookAndFeelClassName, getSystemLookAndFeelClassName, getInstalledLookAndFeels 등 다양한 메서드가 제공돼요.

더 알아보기 (Learn more)

Java 공식 API