GraphicsDevice 클래스

GraphicsDevice 클래스

GraphicsDevice 클래스는 특정 그래픽 환경에서 사용 가능할 수 있는 그래픽 장치를 설명해요. 여기에는 화면과 프린터 장치가 포함돼요. GraphicsEnvironment 인스턴스에는 화면과 프린터가 여러 개일 수 있다는 점을 유의하세요.

출처: Java API Reference

본문

각 그래픽 장치에는 하나 이상의 GraphicsConfiguration 객체가 연관돼 있고, 이 객체들은 GraphicsDevice를 사용할 수 있는 서로 다른 구성을 지정해요. 다중 화면 환경에서는 GraphicsConfiguration 객체로 여러 화면에 컴포넌트를 렌더링할 수 있어요.

public abstract class GraphicsDevice
extends Object

여러 화면에 창 만들기 예제

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();
    }
}

주요 메서드

  • getIDstring() — 장치의 식별 문자열을 반환해요.
  • getType() — 장치 유형을 반환해요. TYPE_RASTER_SCREEN, TYPE_PRINTER, TYPE_IMAGE_BUFFER 중 하나예요.
  • getConfigurations() — 이 장치와 연관된 모든 GraphicsConfiguration 배열을 반환해요.
  • getDefaultConfiguration() — 기본 GraphicsConfiguration을 반환해요.
  • getBestConfiguration(GraphicsConfigTemplate) — 요구 조건을 충족하는 최선의 GraphicsConfiguration을 반환해요.
  • getFullScreenWindow() / setFullScreenWindow(Window) — 전체 화면 배타 모드 창을 조회·설정해요.
  • setDisplayMode(DisplayMode) / getDisplayMode() — 디스플레이 모드를 조회·설정해요.
  • isFullScreenSupported() / isDisplayChangeSupported() — 기능 지원 여부를 확인해요.

전체 화면 배타 모드

전체 화면 배타 모드 API에 대한 자세한 내용은 "Full-Screen Exclusive Mode API Tutorial" 문서를 참고하세요.

더 알아보기