[JAVA] Swing 기본

kbannie·2022년 11월 10일
0

JAVA

목록 보기
7/8
post-thumbnail

GUI 프로그래밍

  • CUI : 텍스트 기반의 입출력입니다.

  • GUI : 시각적인 요소들을 통해 프로그램 구성합니다.

GUI

  • 그래픽을 이용하여 사용자에게 이해하기 쉽고 사용하기 쉬운 입출력 인터페이스 제공합니다.

  • 이벤트 기반 프로그래밍입니다.

    • 사용자가 발생시키는 이벤트에 대한 메시지를 처리하는 루틴을 만들어 줍니다.
  • 메시지 구동 구조

    • OS는 프로그램 내/외부 변화 발생을 메시지를 통해 해당 프로그램에 알려줍니다.
  • 메시지 기반 및 이벤트 기반 프로그래밍입니다.

Swing

  • 강력학 GUI 컴포넌트
    • JDK에서 제공하는 기본 제공 클래스를 통합니다.
  • 쉬운 GUI 컴포넌트
    • 객체지향적 문제 해결 관점에서 프로그래밍입니다.

Swing 특징

  • AWT를 기반으로 기본의 AWT의 상속 구조를 그대로 가져오지 않습니다.
  • AWT 컴포넌트를 Swing으로 재작성하여 화려하고 다양한 컴포넌트로 쉽게 GUI 프로그래밍입니다.

GUI 라이브러리 계층 구조

Swing 클래스의 특징

  • 클래스 이름이 보통 'J'로 시작합니다.
  • 스윙 컴포넌트의 두가지 유형을 아래와 같습니다.
    • 컴포넌트
      • 특정 기능을 수행하는 종단 구성요소입니다.
      • JComponent를 상속합니다.
    • 컨테이너 컴포넌트
      • 다른 컴포넌트를 포함할 수 있는 컴포넌트입니다.
      • AWT의 Container를 상속합니다.

컨테이너 컴포넌트

  • 자신의 영역에 다른 컴포넌트 및 컨테이너를 포함하고 관리하는 역할입니다.
  • java.awt.Container로 부터 파생되었습니다.
    • add()로 다른 컴포넌트와 컨테이너 객체를 얻을 수 있습니다.
  • 최상위 컨테이너로 다른 컨테이너에 포함되지 않고 독립적으로도 존재가 가능합니다.

컴포넌트

  • 특정 기능을 제공하는 하나의 객체로 추상 클래스인 javax.swing.Jcomponent를 상속받는 클래스입니다.
  • 컨테이너에 포함되어 사용되는 경우에만 의미가 있습니다.
  • 다른 컴포넌트를 포함할 수 없는 종단 컴포넌트입니다.
profile
여행하는 데이터 사이언티스트🧙‍♂️

0개의 댓글

관련 채용 정보