Desktop (Java Platform SE 6) - xrath.com 에서 번역됨

개요 | 패키지 | 클래스 | 사용 | 계층 트리 | 비추천 API | 색인 | 헬프

JavaTM Platform
Standard Ed. 6

앞의 클래스 차의 클래스 | 프레임 있어 프레임 없음
개요 : 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드

## java.awt
클래스 Desktop

    java.lang.Object
      java.awt.Desktop

    public class Desktop

extends Object

Java 어플리케이션으로 `Desktop` 클래스를 사용하면(자), 네이티브 데스크탑으로 등록을 마친 관련지을 수 있었던 어플리케이션을 기동해,`URI` 나 파일을 처리할 수 있습니다.

지원되는 조작에는 다음의 것이 있습니다.

- 사용자 디폴트의 브라우저를 기동해, 지정된 URI 를 표시한다.
- 옵션의 `mailto` URI 를 지정해, 사용자 디폴트의 메일 클라이언트를 기동한다.
- 등록을 마친 어플리케이션을 기동해, 지정된 파일을 여는, 편집한다, 또는 인쇄한다.

이 클래스에는, 이러한 조작에 대응하는 메소드가 준비되어 있습니다. 메소드는, URI 나 파일을 처리하기 위해서, 현재의 플랫폼에서 등록을 마친 관련지을 수 있었던 어플리케이션을 검색해 기동합니다. 관련지을 수 있었던 어플리케이션이 없는 경우나, 관련지을 수 있었던 어플리케이션을 기동할 수 없는 경우는, 예외가 throw 됩니다.

어플리케이션은 URI 또는 파일의 종류에 대해서 등록됩니다. 예를 들어,`"sxi"` 파일 확장자(extension)는, 일반적으로 StarSuite 에 등록됩니다. 관련지을 수 있었던 어플리케이션의 등록, 액세스, 및 기동의 기구는, 플랫폼에 응해 다릅니다.

각 조작은,`Desktop.Action` 클래스에서 나타내지는 액션 타입입니다.

주:액션이 불려 가 관련지을 수 있었던 어플리케이션이 실행되는 경우, 그 어플리케이션은, Java 어플리케이션이 기동된 시스템과 같은 시스템으로 실행됩니다.

도입된 버젼:
  1.6

상자의 클래스의 개요
`static class` | `Desktop.Action` 액션의 종류를 나타냅니다.

메소드의 개요
`void` | `browse (URI uri)` 디폴트의 브라우저를 기동해,`URI` 를 표시합니다.
`void` | `edit (File file)` 관련지을 수 있었던 에디터 어플리케이션을 기동해, 파일을 편집용으로 엽니다.
`static Desktop` | `getDesktop ()` 현재의 브라우저 문맥의 `Desktop` 인스턴스를 돌려줍니다.
`static boolean` | `isDesktopSupported ()` 이 클래스가 현재의 플랫폼에서 지원되고 있는지 어떤지를 판정합니다.
`boolean` | `isSupported (Desktop.Action action)` 이 액션이 현재의 플랫폼에서 지원되고 있는지 어떤지를 판정합니다.
`void` | `mail ()` 사용자 디폴트의 메일 클라이언트의 메일 작성 윈도우를 기동합니다.
`void` | `mail (URI mailtoURI)` 사용자 디폴트의 메일 클라이언트의 메일 작성 윈도우를 기동해,`mailto:`URI 로 지정되고 있는 메세지 필드에 데이터를 설정합니다.
`void` | `open (File file)` 관련지을 수 있었던 어플리케이션을 기동해 파일을 엽니다.
`void` | `print (File file)` 관련지을 수 있었던 어플리케이션의 인쇄 커멘드를 사용해, 네이티브 데스크탑의 인쇄 기능으로 파일을 인쇄합니다.

클래스 java.lang. Object 로부터 상속된 메소드
`clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait`

메소드의 상세

### getDesktop

    public static Desktop  getDesktop()

  현재의 브라우저 문맥의 `Desktop` 인스턴스를 돌려줍니다. 일부의 플랫폼에서는, Desktop API 가 지원되어 있지 않은 경우가 있습니다. 현재의 데스크탑이 지원되고 있는지 어떤지를 조사하려면 ,`isDesktopSupported()` 메소드를 사용해 주세요.

  반환값:
    현재의 브라우저 문맥의 Desktop 인스턴스
  예외:
    `HeadlessException` - `GraphicsEnvironment.isHeadless()` 가 `true` 를 돌려주는 경우
    `UnsupportedOperationException` - 이 클래스가 현재의 플랫폼에서 지원되어 있지 않은 경우
  관련 항목:
    `isDesktopSupported()` , `GraphicsEnvironment.isHeadless()`

### isDesktopSupported

    public static boolean isDesktopSupported()

  이 클래스가 현재의 플랫폼에서 지원되고 있는지 어떤지를 판정합니다. 지원되고 있는 경우, 인스턴스를 가져오려면 `getDesktop()` 를 사용해 주세요.

  반환값:
    이 클래스가 현재의 플랫폼에서 지원되고 있는 경우는 `true`, 그렇지 않은 경우는 `false`
  관련 항목:
    `getDesktop()`

### isSupported

    public boolean isSupported(Desktop.Action  action)

  이 액션이 현재의 플랫폼에서 지원되고 있는지 어떤지를 판정합니다.

  액션이 플랫폼에서 지원되고 있는 경우에서도, 그 액션에 대응하는 어플리케이션이 파일이나 URI 에 등록되지 않은 것이 있습니다. 예를 들어,`Desktop.Action.OPEN` 액션은 대부분의 플랫폼에서 지원되고 있습니다. 다만, 특정의 파일에 대해서, 그것을 열기 위한 어플리케이션이 등록되지 않은 경우가 있습니다. 이 경우,`isSupported(java.awt.Desktop.Action)` 는 `true` 를 돌려줍니다만, 대응하는 액션 메소드는 `IOException` 를 throw 합니다.

  파라미터:
    `action` - 지정된 `Desktop.Action`
  반환값:
    지정된 액션이 현재의 플랫폼에서 지원되고 있는 경우는 `true`, 그렇지 않은 경우는 `false`
  관련 항목:
    `Desktop.Action`

### open

    public void open(File  file)
              throws IOException

  관련지을 수 있었던 어플리케이션을 기동해 파일을 엽니다.

  지정된 파일이 디렉토리의 경우는, 그것을 열기 위해서(때문에) 현재의 플랫폼의 파일 관리자-가 기동됩니다.

  파라미터:
    `file` - 관련지을 수 있었던 어플리케이션으로 열리는 파일
  예외:
    `NullPointerException` - `file` 가 `null` 의 경우
    `IllegalArgumentException` - 지정된 파일이 존재하지 않는 경우
    `UnsupportedOperationException` - 현재의 플랫폼이 `Desktop.Action.OPEN` 액션을 지원하고 있지 않는 경우
    `IOException` - 지정된 파일에 어플리케이션을 관련지을 수 있지 않은지, 관련지을 수 있었던 어플리케이션을 기동할 수 없는 경우
    `SecurityException` - 시큐리티 매니저가 존재해, 그 `SecurityManager.checkRead(java.lang.String)` 메소드가 파일에의 읽어들여 액세스를 거부했는지, `AWTPermission("showWindowWithoutWarningBanner")` 액세스권을 거부하는 경우, 혹은 호출해 옆의 thread가 서브 프로세스의 작성을 허가되어 있지 않은 경우
  관련 항목:
    `AWTPermission`

### edit

    public void edit(File  file)
              throws IOException

  관련지을 수 있었던 에디터 어플리케이션을 기동해, 파일을 편집용으로 엽니다.

  파라미터:
    `file` - 편집용으로 여는 파일
  예외:
    `NullPointerException` - 지정된 파일이 `null` 의 경우
    `IllegalArgumentException` - 지정된 파일이 존재하지 않는 경우
    `UnsupportedOperationException` - 현재의 플랫폼이 `Desktop.Action.EDIT` 액션을 지원하고 있지 않는 경우
    `IOException` - 지정된 파일에 에디터를 관련지을 수 있지 않은지, 관련지을 수 있었던 어플리케이션을 기동할 수 없는 경우
    `SecurityException` - 시큐리티 매니저가 존재해, 그 `SecurityManager.checkRead(java.lang.String)` 메소드가 파일에의 읽어들여 액세스를 거부했을 경우, `SecurityManager.checkWrite(java.lang.String)` 메소드가 파일에의 기입해 액세스를 거부했는지, `AWTPermission("showWindowWithoutWarningBanner")` 액세스권을 거부하는 경우, 혹은 호출해 옆의 thread가 서브 프로세스의 작성을 허가되어 있지 않은 경우
  관련 항목:
    `AWTPermission`

### print

    public void print(File  file)
               throws IOException

  관련지을 수 있었던 어플리케이션의 인쇄 커멘드를 사용해, 네이티브 데스크탑의 인쇄 기능으로 파일을 인쇄합니다.

  파라미터:
    `file` - 인쇄하는 파일
  예외:
    `NullPointerException` - 지정된 파일이 `null` 의 경우
    `IllegalArgumentException` - 지정된 파일이 존재하지 않는 경우
    `UnsupportedOperationException` - 현재의 플랫폼이 `Desktop.Action.PRINT` 액션을 지원하고 있지 않는 경우
    `IOException` - 지정된 파일에 그 인쇄에 사용할 수 있는 어플리케이션을 관련지을 수 있지 않은 경우
    `SecurityException` - 시큐리티 매니저가 존재해, 그 `SecurityManager.checkRead(java.lang.String)` 메소드가 파일에의 읽어들여 액세스를 거부했는지, 그 `SecurityManager.checkPrintJobAccess()` 메소드가 파일을 인쇄하기 위한 액세스권을 거부했을 경우, 혹은 호출해 옆의 thread가 서브 프로세스의 작성을 허가되어 있지 않은 경우

### browse

    public void browse(URI  uri)
                throws IOException

  디폴트의 브라우저를 기동해,`URI` 를 표시합니다. 디폴트의 브라우저가 지정된 `URI` 를 처리할 수 없는 경우, 지정된 타입의 `URI` 를 처리하기 위해서 등록된 어플리케이션이 불려 갑니다. 이 어플리케이션은,`URI` 클래스에서 정의되고 있는,`URI` 의 프로토콜과 패스에 의해 정해집니다.

  호출원의 thread에 필요한 액세스권이 없고, 애플릿내로부터 불려 갔을 경우는,`AppletContext.showDocument()` 가 사용됩니다. 같이 호출해 바탕으로 필요한 액세스권이 없고, Java Web Started 어플리케이션내로부터 불려 갔을 경우는,`BasicService.showDocument()` 가 사용됩니다.

  파라미터:
    `uri` - 사용자 디폴트의 브라우저로 표시하는 URI
  예외:
    `NullPointerException` - `uri` 가 `null` 의 경우
    `UnsupportedOperationException` - 현재의 플랫폼이 `Desktop.Action.BROWSE` 액션을 지원하고 있지 않는 경우
    `IOException` - 사용자 디폴트의 브라우저가 발견되지 않는가 기동할 수 없는 경우, 또는 디폴트의 핸들러 어플리케이션을 기동할 수 없는 경우
    `SecurityException` - 시큐리티 매니저가 존재해,`AWTPermission("showWindowWithoutWarningBanner")` 액세스권을 거부하는 경우. 또는 호출해 원thread가 서브 프로세스의 작성이 허가되지 않고, 애플릿 또는 Java Web Started 어플리케이션내로부터 불려 가지 않는 경우
    `IllegalArgumentException` - 필요한 액세스권을 이용하지 못하고, URI 를 `URL` 로 변환할 수 없는 경우
  관련 항목:
    `URI` , `AWTPermission` , `AppletContext`

### mail

    public void mail()
              throws IOException

  사용자 디폴트의 메일 클라이언트의 메일 작성 윈도우를 기동합니다.

  예외:
    `UnsupportedOperationException` - 현재의 플랫폼이 `Desktop.Action.MAIL` 액션을 지원하고 있지 않는 경우
    `IOException` - 사용자 디폴트의 메일 클라이언트가 발견되지 않는가, 기동할 수 없는 경우
    `SecurityException` - 시큐리티 매니저가 존재하는 경우에, 시큐리티 매니저가 `AWTPermission("showWindowWithoutWarningBanner")` 액세스권을 거부하는 경우, 혹은 호출해 옆의 thread가 서브 프로세스의 작성을 허가되어 있지 않은 경우
  관련 항목:
    `AWTPermission`

### mail

    public void mail(URI  mailtoURI)
              throws IOException

  사용자 디폴트의 메일 클라이언트의 메일 작성 윈도우를 기동해,`mailto:`URI 로 지정되고 있는 메세지 필드에 데이터를 설정합니다.

  `mailto:` URI 에서는,"to","cc","subject","body" 등의 메세지 필드를 지정할 수 있습니다. `mailto:` URI 의 스펙의 자세한 것은,「The mailto URL scheme (RFC 2368)」를 참조해 주세요.

  파라미터:
    `mailtoURI` - 지정된 `mailto:` URI
  예외:
    `NullPointerException` - 지정된 URI 가 `null` 의 경우
    `IllegalArgumentException` - URI schema가 `"mailto"` 가 아닌 경우 ``
    `UnsupportedOperationException` - 현재의 플랫폼이 `Desktop.Action.MAIL` 액션을 지원하고 있지 않는 경우
    `IOException` - 사용자 디폴트의 메일 클라이언트가 발견되지 않는가, 기동할 수 없는 경우
    `SecurityException` - 시큐리티 매니저가 존재하는 경우에, 시큐리티 매니저가 `AWTPermission("showWindowWithoutWarningBanner")` 액세스권을 거부하는 경우, 혹은 호출해 옆의 thread가 서브 프로세스의 작성을 허가되어 있지 않은 경우
  관련 항목:
    `URI` , `AWTPermission`

개요 | 패키지 | 클래스 | 사용 | 계층 트리 | 비추천 API | 색인 | 헬프

JavaTM Platform
Standard Ed. 6

앞의 클래스 차의 클래스 | 프레임 있어 프레임 없음
개요 : 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.