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

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

JavaTM Platform
Standard Ed. 6

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

## java.awt
클래스 GraphicsDevice

    java.lang.Object
      java.awt.GraphicsDevice

    public abstract class GraphicsDevice

extends Object

`GraphicsDevice` 클래스는, 특정의 그래픽스 환경에서 이용 가능한 그래픽스 디바이스를 기술합니다. 이러한 디바이스에는, 스크린 디바이스와 프린터 디바이스가 있습니다. `GraphicsEnvironment` 의 인스턴스에, 다수의 화면과 프린터가 있는 경우가 있습니다. 각 그래픽스 디바이스는, 거기에 관련한 1 개(살) 이상 `GraphicsConfiguration` 객체를 가집니다. 이러한 객체는,`GraphicsDevice` 를 사용할 수 있는 다양한 구성을 지정합니다.

멀티스크린 환경에서는,`GraphicsConfiguration` 객체를 사용해 복수의 화면에 컴퍼넌트를 draw 할 수 있습니다. 다음의 코드 샘플은,`GraphicsEnvironment` 의 각 스크린 디바이스로,`GraphicsConfiguration` 마다 `JFrame` 객체를 생성하는 방법을 나타낸 것입니다.

       GraphicsEnvironment ge = GraphicsEnvironment.
       getLocalGraphicsEnvironment();
       GraphicsDevice[] gs = ge.getScreenDevices();
       for (int j = 0; j < gs.length; j++) {
          GraphicsDevice gd = gs[j];
          GraphicsConfiguration[] gc =
            gd.getConfigurations();
          for (int i=0; i < gc.length; i++) {
             JFrame f = new
             JFrame(gs[j]. getDefaultConfiguration());
             Canvas c = new Canvas(gc[i]);
             Rectangle gcBounds = gc[i]. getBounds();
             int xoffs = gcBounds.x;
             int yoffs = gcBounds.y;
               f.getContentPane(). add(c);
               f.setLocation((i*50) +xoffs, (i*60) +yoffs);
             f.show();
          }
       }

풀 스크린 배타 모드 API 의 자세한 것은,「Full-Screen Exclusive Mode API Tutorial」를 참조해 주세요.

관련 항목:
  `GraphicsEnvironment` , `GraphicsConfiguration`

필드의 개요
`static int` | `TYPE_IMAGE_BUFFER` 디바이스는 이미지 버퍼입니다.
`static int` | `TYPE_PRINTER` 디바이스는 프린터입니다.
`static int` | `TYPE_RASTER_SCREEN` 디바이스는 라스터 화면입니다.

생성자 의 개요
`protected` | `GraphicsDevice ()` 이것은, 인스턴스를 직접은 생성할 수 없는 abstract 클래스입니다.

메소드의 개요
`int` | `getAvailableAcceleratedMemory ()` 이 메소드는, 이 디바이스의 고속 기억 장치로 사용할 수 있는 바이트수를 돌려줍니다.
`GraphicsConfiguration` | `getBestConfiguration (GraphicsConfigTemplate gct)` 유효한 `GraphicsConfiguration` 를 취득하기 위해서 사용되는 `GraphicsConfigTemplate` 객체
`abstract GraphicsConfiguration []` | `getConfigurations ()` 이 `GraphicsDevice` 에 관련한 모든 `GraphicsConfiguration` 객체를 돌려줍니다.
`abstract GraphicsConfiguration` | `getDefaultConfiguration ()` 이 `GraphicsDevice` 에 관련한 디폴트의 `GraphicsConfiguration` 를 돌려줍니다.
`DisplayMode` | `getDisplayMode ()` 이 `GraphicsDevice` 의 현재의 표시 모드를 돌려줍니다.
`DisplayMode []` | `getDisplayModes ()` 이 `GraphicsDevice` 로 사용할 수 있는 모든 표시 모드를 돌려줍니다.
`Window` | `getFullScreenWindow ()` 디바이스가 풀 스크린 모드에 있는 경우, 풀 스크린 윈도우를 나타내는 `Window` 객체를 돌려줍니다.
`abstract String` | `getIDstring ()` 이 `GraphicsDevice` 에 관련한 ID 캐릭터 라인을 돌려줍니다.
`abstract int` | `getType ()` 이 `GraphicsDevice` 의 형태를 돌려줍니다.
`boolean` | `isDisplayChangeSupported ()` 이 `GraphicsDevice` 이 저레벨 표시 변경을 지원하는 경우는 `true` 를 돌려줍니다.
`boolean` | `isFullScreenSupported ()` 이 `GraphicsDevice` 가 풀 스크린 배타 모드를 지원하는 경우는,`true` 를 돌려줍니다.
`void` | `setDisplayMode (DisplayMode dm)` 이 그래픽스 디바이스의 표시 모드를 설정합니다.
`void` | `setFullScreenWindow (Window w)` 풀 스크린 모드에 들어가는지, 또는 윈도우 모드에 복귀합니다.

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

필드의 상세

### TYPE_RASTER_SCREEN

    public static final int TYPE_RASTER_SCREEN

  디바이스는 라스터 화면입니다.

  관련 항목:
    정수 필드치

### TYPE_PRINTER

    public static final int TYPE_PRINTER

  디바이스는 프린터입니다.

  관련 항목:
    정수 필드치

### TYPE_IMAGE_BUFFER

    public static final int TYPE_IMAGE_BUFFER

  디바이스는 이미지 버퍼입니다. 이 버퍼는 디바이스 또는 시스템 메모리에 포함됩니다만, 사용자가 물리적으로 표시할 수 없습니다.

  관련 항목:
    정수 필드치

생성자 의 상세

### GraphicsDevice

    protected GraphicsDevice()

  이것은, 인스턴스를 직접은 생성할 수 없는 abstract 클래스입니다. 인스턴스는, 적절한 팩토리 또는 쿼리메소드로부터 취득할 필요가 있습니다.

  관련 항목:
    `GraphicsEnvironment.getScreenDevices()` , `GraphicsEnvironment.getDefaultScreenDevice()` , `GraphicsConfiguration.getDevice()`

메소드의 상세

### getType

    public abstract int getType()

  이 `GraphicsDevice` 의 형태를 돌려줍니다.

  반환값:
    이 `GraphicsDevice` 의 형태. TYPE_RASTER_SCREEN, TYPE_PRINTER, 또는 TYPE_IMAGE_BUFFER
  관련 항목:
    `TYPE_RASTER_SCREEN` , `TYPE_PRINTER` , `TYPE_IMAGE_BUFFER`

### getIDstring

    public abstract String  getIDstring()

  이 `GraphicsDevice` 에 관련한 ID 캐릭터 라인을 돌려줍니다.

  특정의 프로그램은 `GraphicsEnvironment` 에 있는 복수의 `GraphicsDevice` 를 사용하는 경우가 있습니다. 이 메소드는, 로컬의 `GraphicsEnvironment` 에 있는 특정의 `GraphicsDevice` 를 식별하는 `String` 를 돌려줍니다. 이 `String` 를 설정하는 public 메소드는 없습니다만, 프로그래머는 이 `String` 를 디버그용으로 사용할 수 있습니다. JavaTM Runtime Environment 의 벤더는, 이 `String` 의 반환값을 포맷 할 수 있습니다. 이 `String` 의 값을 해석하는 방법을 결정하려면 , Java Runtime 의 구입 바탕으로 연락해 주세요. 프로그램으로부터 벤더를 확인하려면 ,"java.vendor" 로 System 클래스의 `getProperty` 메소드를 호출합니다.

  반환값:
    이 `GraphicsDevice` 의 ID 를 나타낸다 디폴트의 `String`

### getConfigurations

    public abstract GraphicsConfiguration [] getConfigurations()

  이 `GraphicsDevice` 에 관련한 모든 `GraphicsConfiguration` 객체를 돌려줍니다.

  반환값:
    이 `GraphicsDevice` 에 관련지을 수 있고 있다 `GraphicsConfiguration` 객체의 배열

### getDefaultConfiguration

    public abstract GraphicsConfiguration  getDefaultConfiguration()

  이 `GraphicsDevice` 에 관련한 디폴트의 `GraphicsConfiguration` 를 돌려줍니다.

  반환값:
    이 `GraphicsDevice` 의 디폴트의 `GraphicsConfiguration`

### getBestConfiguration

    public GraphicsConfiguration  getBestConfiguration(GraphicsConfigTemplate  gct)

  유효한 `GraphicsConfiguration` 를 취득하기 위해서 사용되는 `GraphicsConfigTemplate` 객체

  파라미터:
    `gct` - 유효한 `GraphicsConfiguration` 를 취득하기 위해서 사용된다 `GraphicsConfigTemplate` 객체
  반환값:
    지정된 `GraphicsConfigTemplate` 로 정의되고 있는 기준을 건네줄 수 있다 `GraphicsConfiguration`
  관련 항목:
    `GraphicsConfigTemplate`

### isFullScreenSupported

    public boolean isFullScreenSupported()

  이 `GraphicsDevice` 가 풀 스크린 배타 모드를 지원하는 경우는,`true` 를 돌려줍니다. SecurityManager 가 인스톨 되고 있는 경우,`checkPermission` 메소드는 `AWTPermission("fullScreenExclusive")` 로 불려 갑니다. `isFullScreenSupported` 는 그 액세스권이 허가되었을 경우만 true 를 돌려줍니다.

  반환값:
    이 그래픽스 디바이스로 풀 스크린 배타 모드가 이용 가능한가 어떤가
  도입된 버젼:
    1.4
  관련 항목:
    `AWTPermission`

### setFullScreenWindow

    public void setFullScreenWindow(Window  w)

  풀 스크린 모드에 들어가는지, 또는 윈도우 모드에 복귀합니다. 풀 스크린 모드에 들어가면(자), 배타 모드 또는 시뮬레이션 모드가 됩니다. 배타 모드는,`isFullScreenSupported` 가 `true` 를 돌려주는 경우에게만 이용할 수 있습니다.

  배타 모드에서는, 다음과 같은 상태가 됩니다.

  - Windows 는 풀 스크린 윈도우를 오버랩 할 수 없습니다. 그 외의 모든 어플리케이션 윈도우는, 항상 풀 스크린 윈도우아래에 Z 축 순서로 숨겨져 표시됩니다.
  - 디바이스의 풀 스크린 윈도우는 항상 1 개(살) 뿐입니다. 그 때문에, 기존의 풀 스크린 윈도우가 존재할 경우에 이 메소드를 호출하면(자), 기존의 풀 스크린 윈도우는 윈도우 모드에 복귀합니다.
  - 입력 메소드 윈도우가 무효가 됩니다. `Component.enableInputMethods(false)` 를 호출해, 컴퍼넌트를 입력 메소드 시스템의 비클라이언트로 하는 것을 추천합니다.

  시뮬레이션 풀 스크린 모드에서는, 윈도우의 사이즈를 화면의 사이즈로 변경해, 그 위치를 (0,0)로 합니다.

  풀 스크린 모드로 전환했을 때에, 풀 스크린 윈도우로서 사용하는 윈도우가 표시되어 있지 않은 경우, 이 메소드는 그 윈도우를 표시합니다. 윈도우 모드에 돌아와도 표시된 채로 있습니다.

  풀 스크린 배타 윈도우로부터 윈도우 모드에 복귀하면(자),`setDisplayMode` 의 호출에 의해 행해진 표시 변경은, 원 상태에 자동적으로 복원됩니다.

  파라미터:
    `w` - 풀 스크린 윈도우로서 사용하는 윈도우, 윈도우 모드에 복귀하는 경우는 `null`. 일부의 플랫폼에서는, 풀 스크린 윈도우가 톱 레벨 컴퍼넌트 (즉, Frame)인 것이 기대되기 (위해)때문에, 여기에서는 Window 보다 Frame 를 사용하는 편이 적절한
  도입된 버젼:
    1.4
  관련 항목:
    `isFullScreenSupported()` , `getFullScreenWindow()` , `setDisplayMode(java.awt.DisplayMode)` , `Component.enableInputMethods(boolean)` , `Component.setVisible(boolean)`

### getFullScreenWindow

    public Window  getFullScreenWindow()

  디바이스가 풀 스크린 모드에 있는 경우, 풀 스크린 윈도우를 나타내는 `Window` 객체를 돌려줍니다.

  반환값:
    풀 스크린 윈도우, 디바이스가 풀 스크린 모드 (이)가 아닌 경우는 `null`
  도입된 버젼:
    1.4
  관련 항목:
    `setFullScreenWindow(Window)`

### isDisplayChangeSupported

    public boolean isDisplayChangeSupported()

  이 `GraphicsDevice` 이 저레벨 표시 변경을 지원하는 경우는 `true` 를 돌려줍니다. 일부의 플랫폼에서는, 저레벨 표시 변경은, 풀 스크린 배타 모드에서만 허가되는 일이 있습니다. 즉,`isFullScreenSupported()` 가 `true` 를 돌려주어,`setFullScreenWindow(java.awt.Window)` 를 사용해 어플리케이션이 벌써 풀 스크린 모드가 되어 있는 경우입니다.

  반환값:
    이 그래픽스 디바이스가 저레벨 표시 변경을 지원할지 어떨지.
  도입된 버젼:
    1.4
  관련 항목:
    `isFullScreenSupported()` , `setDisplayMode(java.awt.DisplayMode)` , `setFullScreenWindow(java.awt.Window)`

### setDisplayMode

    public void setDisplayMode(DisplayMode  dm)

  이 그래픽스 디바이스의 표시 모드를 설정합니다. 이것은,`isFullScreenSupported()` 가 `true` 를 돌려주는 경우에게만 허가됩니다. 또, 풀 스크린 배타 모드가 지원되는 (즉 `isFullScreenSupported()` 가 `true` 를 돌려준다) 경우는,`setFullScreenWindow(java.awt.Window)` 를 사용해 미리 풀 스크린 모드가 되어 있을 필요가 있는 일이 있습니다.

  표시 모드는,`getDisplayModes()` 로 반환되는 표시 모드의 언젠가일 필요가 있습니다. 예외로서`DisplayMode.REFRESH_RATE_UNKNOWN` refresh rate로 표시 모드를 건네주면(자), 폭, 높이, 및 비트의 깊이가 일치하는 이용 가능한 표시 모드의 리스트로부터 표시 모드를 선택하게 됩니다. 다만, 비트의 깊이가 `DisplayMode.BIT_DEPTH_MULTI` 인 표시 모드는, 그러한 모드가 `getDisplayModes()` 로 반환되는 리스트에 존재하는 경우에만 건네줄 수가 있습니다.

  코드예:

       Frame frame;
       DisplayMode newDisplayMode;
       GraphicsDevice gd;
       // create a Frame, select desired DisplayMode from the list of modes
       // returned by gd.getDisplayModes() ...

       if (gd.isFullScreenSupported()) {
           gd.setFullScreenWindow(frame);
       } else {
          // proceed in non-full-screen mode
          frame.setSize(...);
          frame.setLocation(...);
          frame.setVisible(true);
       }

       if (gd.isDisplayChangeSupported()) {
           gd.setDisplayMode(newDisplayMode);
       }

  파라미터:
    `dm` - 이 그래픽스 디바이스의 새로운 표시 모드.
  예외:
    `IllegalArgumentException` - 지정된 `DisplayMode` 가 `null` 의 경우, 또는 `getDisplayModes` 로 반환된 배열로 이용할 수 없는 경우
    `UnsupportedOperationException` - `isDisplayChangeSupported` 가 `false` 를 돌려주는 경우
  도입된 버젼:
    1.4
  관련 항목:
    `getDisplayMode()` , `getDisplayModes()` , `isDisplayChangeSupported()`

### getDisplayMode

    public DisplayMode  getDisplayMode()

  이 `GraphicsDevice` 의 현재의 표시 모드를 돌려줍니다. 반환되는 표시 모드의 refresh rate이 불확정인 경우는, refresh rate로서 `DisplayMode.REFRESH_RATE_UNKNOWN` 를 가질 수가 있습니다. 같이 반환되는 표시 모드의 비트의 깊이가 불확정인 경우는, 비트의 깊이로서 `DisplayMode.BIT_DEPTH_MULTI` 를 가질 수가 있습니다.

  반환값:
    이 그래픽스 디바이스의 현재의 표시 모드
  도입된 버젼:
    1.4
  관련 항목:
    `setDisplayMode(DisplayMode)`

### getDisplayModes

    public DisplayMode [] getDisplayModes()

  이 `GraphicsDevice` 로 사용할 수 있는 모든 표시 모드를 돌려줍니다. 반환되는 표시 모드의 refresh rate이 불확정인 경우는, refresh rate로서 `DisplayMode.REFRESH_RATE_UNKNOWN` 를 가질 수가 있습니다. 같이 반환되는 표시 모드의 비트의 깊이가 불확정인 경우는, 비트의 깊이로서 `DisplayMode.BIT_DEPTH_MULTI` 를 가질 수가 있습니다.

  반환값:
    이 그래픽스 디바이스로 사용할 수 있는 모든 표시 모드
  도입된 버젼:
    1.4

### getAvailableAcceleratedMemory

    public int getAvailableAcceleratedMemory()

  이 메소드는, 이 디바이스의 고속 기억 장치로 사용할 수 있는 바이트수를 돌려줍니다. 일부의 이미지는, 선착순으로 작성되든가 또는 고속 기억 장치에 캐쉬됩니다. 일부의 operating system에서는, 이 메모리는 유한의 자원입니다. 이 메소드를 호출해, 이미지의 작성과 플래시를 스케줄링 하는 것으로써, 어플리케이션이 이 유한의 자원을 가장 효과적으로 사용할 수 있게 됩니다.
  반환된 값은, 사용할 수 있는 메모리량의 snapshot입니다. 일부의 이미지는, 그 메모리에 할당할 수 있는 것으로 문제가 생기는 경우가 있습니다. 예를 들어, operating system, 드라이버, 메모리 구성, 및 thread의 상황에 따라서는, 지정된 이미지에 대해서 보고된 전체의 사이즈를 사용할 수 없는 경우가 있습니다. VolatileImage 에 관련하는 `ImageCapabilities` 객체상에 한층 더 조회를 실시하는 메소드가 있습니다. 이 메소드는, 고속 기억 장치에 특정의 VolatileImage 가 작성되고 있는지 어떤지를 판정하기 위해서 사용할 수 있습니다.

  반환값:
    고속 기억 장치로 이용 가능한 바이트수. 부의 반환값은, 이 GraphicsDevice 상의 고속 기억 장치의 양이 불확정인 것을 나타내는
  도입된 버젼:
    1.4
  관련 항목:
    `Image.flush()` , `ImageCapabilities.isAccelerated()`

개요 | 패키지 | 클래스 | 사용 | 계층 트리 | 비추천 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 도 참조해 주세요.