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)
풀 스크린 모드에 들어가는지, 또는 윈도우 모드에 복귀합니다. 풀 스크린 모드에 들어가면(자), 배타 모드 또는 시뮬레이션 모드가 됩니다. 배타 모드는,isFullScreenSupportedtrue 를 돌려주는 경우에게만 이용할 수 있습니다.  

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

시뮬레이션 풀 스크린 모드에서는, 윈도우의 사이즈를 화면의 사이즈로 변경해, 그 위치를 (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 - 지정된 DisplayModenull 의 경우, 또는 getDisplayModes 로 반환된 배열로 이용할 수 없는 경우
UnsupportedOperationException - isDisplayChangeSupportedfalse 를 돌려주는 경우
도입된 버젼:
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()

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 도 참조해 주세요.