2010-05-14 5 views
0

Deitel과 Deitel의 Programming in Java에 대한 몇 가지 예제를 살펴 보았으며 첫 번째 예제 중 하나는 매우 간단한 Swing 디스플레이입니다. 코드 따라서이 조각은 : Java FX Look & Feel 문제

import javax.swing.*; 

    public class cdea {  

public static void main(String args[]){ 
        JOptionPane.showMessageDialog(null,"\"Welcome to Java Programming!\""); 
        System.exit(0); 

      //end method main 
    } 
    } 

나는 프로그램에

UIManager.setLookAndFeel(
      UIManager.getSystemLookAndFeelClassName()); 

를 사용하여 하나의 네이티브 UI 모양을 얻을 느낄 수있는 방법에 대한 몇 가지 물건을 읽습니다. 그러나, 그냥 내 메인 메서드에 추가 할 때, 그것은 내게 오류 호스트를 제공합니다. 특히 :

이 라인에서

여러 마커 - 처리되지 않은 예외 유형은시 IllegalAccessException - 처리되지 않은 예외 타입있는 InstantiationException - 처리되지 않은 예외 타입의 ClassNotFoundException - 처리되지 않은 예외 유형 UnsupportedLookAndFeelException 그러나 내가 일부로 사용하는 경우

try/catch 예외 루프 (그게 무엇이라고?) Getting java applications to look native on windows - how?에 대한 자세한 내용은, 나는 제대로 실행하는 프로그램을 얻을.

누구나 간단한 언어로 말해 줄 수 있습니까? 에서처럼, 왜 내가 직접 시스템의 모양과 느낌을 얻을 수 없는가? 왜 예외 처리와 함께 사용해야합니까? 저는 Java와 OOP에 익숙하지 않습니다. 너무 단순하다면 미안 해요.

답변

1

자바에는 두 가지 주요 유형의 예외가 있습니다. 확인 된 예외와 확인되지 않은 예외입니다.

확인 된 예외를 처리하려면 코드가 있어야합니다. 일반적으로 메서드에 대한 문서에는 검사 할 수있는 검사 예외 목록이 나열됩니다. 이 경우

UIManager.setLookAndFeel이 같은 설명 : 별도의 catch 블록에서 이러한 예외를 각각 처리, 또는 예외를 잡는다 하나의 catch 블록을 처리 :

public static void setLookAndFeel(String className) 
          throws ClassNotFoundException, 
            InstantiationException, 
            IllegalAccessException, 
            UnsupportedLookAndFeelException 

당신은 두 가지 선택이있다. 이 경우에는 단일 블록에서 처리하는 것이 좋다고 생각합니다. 스윙은 실제로 L & F를 변경할 수없는 경우 크로스 플랫폼 모양과 느낌으로 되돌아갑니다.

try { 
    UIManager.setLookAndFeel(
       UIManager.getSystemLookAndFeelClassName()); 
} catch (Exception e) { 
    // Any handling you want to do here, possibly logging 
    // Optionally, you could just do... nothing. 
} 

참고 : 단 하나의 예외 유형을 던지는 두 번째 setLookAndFeel 방법이 있습니다,하지만 당신은 하나를 사용하지 않는.

+0

명쾌한 설명에 감사드립니다. :) 그렇다면 기본적으로 Java 라이브러리의 특정 메소드가 사용하기 전에 예외를 확인했는지 항상 확인해야한다는 의미입니까? – drachenfels

+0

불행히도 그렇습니다. IDE를 사용하는 경우 try/catch 블록을 추가하는 바로 가기가있을 수 있습니다 (이클립스에서는 Alt-Shift-Z를 누른 다음 팝업 메뉴의 첫 번째 옵션입니다). – Powerlord

관련 문제