GraphicsEnvironment 클래스

GraphicsEnvironment 클래스

GraphicsEnvironment 클래스는 특정 플랫폼에서 Java 애플리케이션에 사용 가능한 GraphicsDevice 객체와 Font 객체의 모음을 설명해요. 이 GraphicsEnvironment의 리소스는 로컬이거나 원격 머신에 있을 수 있어요.

출처: Java API Reference

본문

GraphicsDevice 객체는 화면, 프린터 또는 이미지 버퍼일 수 있으며 Graphics2D 그리기 메서드의 대상이 돼요. 각 GraphicsDevice에는 여러 GraphicsConfiguration 객체가 연관돼 있고, 이 객체들은 GraphicsDevice를 사용할 수 있는 서로 다른 구성을 지정해요.

public abstract class GraphicsEnvironment
extends Object

주요 메서드

  • getLocalGraphicsEnvironment() — 로컬 그래픽 환경 인스턴스를 반환하는 정적 메서드예요.
  • getScreenDevices() — 사용 가능한 모든 화면 GraphicsDevice 배열을 반환해요.
  • getDefaultScreenDevice() — 기본 화면 장치를 반환해요.
  • getCenterPoint() — 중앙 지점 Point2D를 반환해요.
  • getMaximumWindowBounds() — 최대 창 bounds를 반환해요.
  • getAllFonts() — 사용 가능한 모든 글꼴 얼굴을 Font 배열로 반환해요.
  • getAvailableFontFamilyNames() — 사용 가능한 글꼴 패밀리 이름 배열을 반환해요.
  • isHeadlessInstance() — 헤드리스 환경 여부를 확인해요.
  • createGraphics(Image) — 이미지에 그리는 Graphics2D를 만들어요.

사용 예

화면 장치 목록을 얻어 각 화면에 창을 배치하거나, 시스템의 글꼴 목록을 조회해 글꼴 선택 UI를 만들 수 있어요.

GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice[] devices = ge.getScreenDevices();
String[] fonts = ge.getAvailableFontFamilyNames();

헤드리스 환경

서버처럼 디스플레이가 없는 환경에서는 isHeadlessInstance()true가 돼요. 이런 환경에서는 그래픽 장치가 없을 수 있으므로 화면 장치 관련 코드를 실행하기 전에 확인해야 해요.

더 알아보기