Notice
Recent Posts
Recent Comments
Link
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

시다바리

[Java] 룩엔필 LookAndFeel 본문

Language/Java

[Java] 룩엔필 LookAndFeel

호서아빠 2008. 8. 21. 19:56

1. 소개
  별도로 룩앤필을 지정하지 않으면 자바 룩앤필이 기본으로 지정됩니다. 룩앤필을 지정할 때에는 다음과 같이 UIManager 클래스를 사용합니다.

try {
    UIManager.setLookAndFeel ( UIManager.getCrossPlatformLookAndFeelClassName ( ) );
} catch ( Exception e ) {
    System.err.println ( "Cannot set look and feel:" + e.getMessage ( ) );
}

  UIManager 클래스의 getCrossPlatformLookAndFeelClassName() 메쏘드는 자바 룩앤필 클래스 이름을 리턴합니다. getSystemLookAndFeelClassName() 메쏘드는 현재 자바 스윙 컴포넌트가 실행되고 있는 환경에 따라 다른 클래스 이름을 리턴합니다. 즉, 마이크로소프트 윈도우 시스템에서 실행되고 있다면 윈도우 룩앤필 클래스 이름을 리턴하고, 유닉스의 X 윈도우 시스템에서 실행되고 있다면 모티프 룩앤필 클래스 이름을 리턴할 것입니다.

2. 룩엔필 지정하기

메탈 룩앤필 설정
 예)
try {
    UIManager.setLookAndFeel( UIManager.getCrossPlatformLookAndFeelClassName ( ) );
} catch( Exception e ) {
}

시스템에서 사용하는 룩 앤 필을 사용하는
 예)
try {
    UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName ( ) );
} catch( Exception e ) {
}

윈도우 룩앤필 설정
 예)
try {
    UIManager.setLookAndFeel ( "com.sun.java.swing.plaf.windows.WindowsLookAndFeel" );
} catch( Exception e ) {
}

3. LookAndFeel 바꾸기

  프로그램의 GUI 가 보인후에도 l&f 을 setLookAndFeel() 을 이용하여 변경이 가능하다. 새로운 l&f 을 컴포넌트에 적용하기 위해서는 SwingUtilities.updateComponentTreeUI()을 최상위 컨테이너에서 호출해야 한다.

------------------------------------------------
UIManager.setLookAndFeel ( l&fName );
SwingUtilities.updateComponentTreeUI ( frame );
frame.pack ( );
...
------------------------------------------------

4. 클래스/메소드

  UIManager.setLookAndFeel(): 프로그램의 룩앤필을 변경한다. 지원하는 룩앤필이 아니면 UnsupportedLookAndFeelException을 발생 UIManager.getCrossPlatformLookAndFeelClassName():
자바의 플랫폼 중립적인 메탈 룩 앤 필을 나타내는 객체 반환 UIManager.getSystemLookAndFeelClassName (): 현재 시스템에 맞는 l&f 을 제공한다.

Windows l&f =>
  "com.sun.java.swing.plaf.windows.WindowsLookAndFeel" 오직 윈도우시스템에서 가능하다.
CDE/Motif l&f =>
  "com.sun.java.swing.plaf.motif.MotifLookAndFeel" 모든 플랫폼에서 가능하다.
Mac OS l&f =>
  "javax.swing.plaf.mac.MacLookAndFeel" 오직 Mac OS 에서만 가능하다.

[출처] LookAndFeel 설정|작성자 뽀리

Comments