|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
java.lang.Objectjava.awt.GraphicsDevice
public abstract class GraphicsDevice
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 |
필드의 상세 |
---|
public static final int TYPE_RASTER_SCREEN
public static final int TYPE_PRINTER
public static final int TYPE_IMAGE_BUFFER
생성자 의 상세 |
---|
protected GraphicsDevice()
GraphicsEnvironment.getScreenDevices()
,
GraphicsEnvironment.getDefaultScreenDevice()
,
GraphicsConfiguration.getDevice()
메소드의 상세 |
---|
public abstract int getType()
GraphicsDevice
의 형태를 돌려줍니다.
GraphicsDevice
의 형태.
TYPE_RASTER_SCREEN, TYPE_PRINTER, 또는 TYPE_IMAGE_BUFFERTYPE_RASTER_SCREEN
,
TYPE_PRINTER
,
TYPE_IMAGE_BUFFER
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
public abstract GraphicsConfiguration [] getConfigurations()
GraphicsDevice
에 관련한 모든 GraphicsConfiguration
객체를 돌려줍니다.
GraphicsDevice
에 관련지을 수 있고 있다
GraphicsConfiguration
객체의
배열public abstract GraphicsConfiguration getDefaultConfiguration()
GraphicsDevice
에 관련한 디폴트의 GraphicsConfiguration
를 돌려줍니다.
GraphicsDevice
의
디폴트의 GraphicsConfiguration
public GraphicsConfiguration getBestConfiguration(GraphicsConfigTemplate gct)
GraphicsConfiguration
를 취득하기 위해서 사용되는 GraphicsConfigTemplate
객체
gct
- 유효한 GraphicsConfiguration
를 취득하기 위해서 사용된다
GraphicsConfigTemplate
객체
GraphicsConfigTemplate
로
정의되고 있는 기준을 건네줄 수 있다
GraphicsConfiguration
GraphicsConfigTemplate
public boolean isFullScreenSupported()
GraphicsDevice
가 풀 스크린 배타 모드를 지원하는 경우는,true
를 돌려줍니다. SecurityManager 가 인스톨 되고 있는 경우,checkPermission
메소드는 AWTPermission("fullScreenExclusive")
로 불려 갑니다.
isFullScreenSupported
는 그 액세스권이 허가되었을 경우만 true 를 돌려줍니다.
AWTPermission
public void setFullScreenWindow(Window w)
isFullScreenSupported
가 true
를 돌려주는 경우에게만 이용할 수 있습니다. 배타 모드에서는, 다음과 같은 상태가 됩니다.
Component.enableInputMethods(false)
를 호출해, 컴퍼넌트를 입력 메소드 시스템의 비클라이언트로 하는 것을 추천합니다.
시뮬레이션 풀 스크린 모드에서는, 윈도우의 사이즈를 화면의 사이즈로 변경해, 그 위치를 (0,0)로 합니다.
풀 스크린 모드로 전환했을 때에, 풀 스크린 윈도우로서 사용하는 윈도우가 표시되어 있지 않은 경우, 이 메소드는 그 윈도우를 표시합니다. 윈도우 모드에 돌아와도 표시된 채로 있습니다.
풀 스크린 배타 윈도우로부터 윈도우 모드에 복귀하면(자),setDisplayMode
의 호출에 의해 행해진 표시 변경은, 원 상태에 자동적으로 복원됩니다.
w
- 풀 스크린 윈도우로서 사용하는 윈도우,
윈도우 모드에 복귀하는 경우는 null
. 일부의 플랫폼에서는,
풀 스크린 윈도우가 톱 레벨 컴퍼넌트 (즉, Frame)인 것이
기대되기 (위해)때문에, 여기에서는 Window 보다 Frame 를 사용하는 편이
적절한isFullScreenSupported()
,
getFullScreenWindow()
,
setDisplayMode(java.awt.DisplayMode)
,
Component.enableInputMethods(boolean)
,
Component.setVisible(boolean)
public Window getFullScreenWindow()
Window
객체를 돌려줍니다.
null
setFullScreenWindow(Window)
public boolean isDisplayChangeSupported()
GraphicsDevice
이 저레벨 표시 변경을 지원하는 경우는 true
를 돌려줍니다. 일부의 플랫폼에서는, 저레벨 표시 변경은, 풀 스크린 배타 모드에서만 허가되는 일이 있습니다. 즉,isFullScreenSupported()
가 true
를 돌려주어,setFullScreenWindow(java.awt.Window)
를 사용해 어플리케이션이 벌써 풀 스크린 모드가 되어 있는 경우입니다.
isFullScreenSupported()
,
setDisplayMode(java.awt.DisplayMode)
,
setFullScreenWindow(java.awt.Window)
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
를 돌려주는 경우getDisplayMode()
,
getDisplayModes()
,
isDisplayChangeSupported()
public DisplayMode getDisplayMode()
GraphicsDevice
의 현재의 표시 모드를 돌려줍니다. 반환되는 표시 모드의 refresh rate이 불확정인 경우는, refresh rate로서 DisplayMode.REFRESH_RATE_UNKNOWN
를 가질 수가 있습니다. 같이 반환되는 표시 모드의 비트의 깊이가 불확정인 경우는, 비트의 깊이로서 DisplayMode.BIT_DEPTH_MULTI
를 가질 수가 있습니다.
setDisplayMode(DisplayMode)
public DisplayMode [] getDisplayModes()
GraphicsDevice
로 사용할 수 있는 모든 표시 모드를 돌려줍니다. 반환되는 표시 모드의 refresh rate이 불확정인 경우는, refresh rate로서 DisplayMode.REFRESH_RATE_UNKNOWN
를 가질 수가 있습니다. 같이 반환되는 표시 모드의 비트의 깊이가 불확정인 경우는, 비트의 깊이로서 DisplayMode.BIT_DEPTH_MULTI
를 가질 수가 있습니다.
public int getAvailableAcceleratedMemory()
ImageCapabilities
객체상에 한층 더 조회를 실시하는 메소드가 있습니다. 이 메소드는, 고속 기억 장치에 특정의 VolatileImage 가 작성되고 있는지 어떤지를 판정하기 위해서 사용할 수 있습니다.
Image.flush()
,
ImageCapabilities.isAccelerated()
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.