Region

Region (컴포넌트의 렌더링 영역)

Swing 컴포넌트의 구분된 렌더링 영역을 나타내는 타입 세이프 열거(typesafe enumeration) 클래스입니다. 하나의 컴포넌트는 여러 Region을 가질 수 있습니다.

Region은 특정 스타일이 어떤 컴포넌트와 영역에 적용될지를 식별하는 데 주로 사용됩니다.

출처: Java API Reference

본문

각 Region 상수의 이름은 다음 규칙에 따라 스타일의 이름을 만드는 데 쓰입니다.

  • 모든 문자를 소문자로 만든다.

  • 첫 번째 문자를 대문자로 만든다.

  • 밑줄 다음의 첫 문자를 대문자로 만든다.

  • 모든 밑줄을 제거한다.

예를 들어 SPLIT_PANE 상수는 SplitPane이라는 이름으로 식별됩니다. 사용자 정의 SynthStyleFactory에서 특정 Region에 스타일을 지정하는 예시입니다.


public SynthStyle getStyle(JComponent c, Region id) {

    if (id == Region.SPLIT_PANE) {

        return splitPaneStyle;

    }

    ...

}

같은 내용을 XML 파일 형식으로도 표현할 수 있습니다.


<style id="splitPaneStyle">

  ...

</style>

<bind style="splitPaneStyle" type="region" key="SplitPane"/>

정의된 주요 Region 상수는 ARROW_BUTTON, BUTTON, CHECK_BOX, CHECK_BOX_MENU_ITEM, COLOR_CHOOSER, COMBO_BOX, DESKTOP_ICON, DESKTOP_PANE, EDITOR_PANE, FILE_CHOOSER, FORMATTED_TEXT_FIELD, INTERNAL_FRAME, LABEL, LIST, MENU, MENU_BAR, MENU_ITEM, OPTION_PANE, PANEL, PASSWORD_FIELD, POPUP_MENU, PROGRESS_BAR, RADIO_BUTTON, ROOT_PANE, SCROLL_BAR, SCROLL_PANE, SEPARATOR, SLIDER, SPINNER, SPLIT_PANE, TABBED_PANE, TABLE, TEXT_AREA, TEXT_FIELD, TEXT_PANE, TOOL_BAR, TOOL_TIP, TREE, VIEWPORT 등입니다.

이들은 모두 static final Region 타입의 상수이며, 특정 컴포넌트의 하위 영역(예: SLIDER_THUMB, SLIDER_TRACK, SCROLL_BAR_THUMB, SPLIT_PANE_DIVIDER, TABBED_PANE_TAB 등)까지 세밀하게 나뉩니다. 자바 1.5부터 도입되었습니다.

더 알아보기 (Learn more)

Java 공식 API