[Java] 13. GUI

올리브수
|2021. 6. 1. 22:25
728x90

GUI(Graphical User Interface)

  • 강력한 GUI 컴포넌트 제공
  • 쉬운 GUI 프로그래밍

 

  • AWT 패키지와 Swing 패키지에 제공되는 메커니즘 이용
  • AWT - java.awt 패키지
  • Swing - javax.swing 패키지

💡 Swing에는 다양한 컴포넌트 기능들이 있어서 강하고 경량적인 프로그래밍에 유리하다!


AWT(Abstract Windowing Toolkit)

  • 자바가 처음 나왔을 떄 함께 배포된 라이브러리
  • java.awt 패키지
  • AWT 컴포넌트는 중량 컴포넌트(Heavy Weight Components)이다.
  • AWT 컴포넌트는 native(peer) 운영체제의 GUI 컴포넌트의 도움을 받아 작동한다. - 플랫폼 의존적
  • 운영체제에 많은 부담을 주지만 처리 속도는 빠르다.
  • 교차 할 수 있는 look and feel 제공 ❌

Swing

  • AWT 기술을 기반으로 순수 자바 언어로 만들어진 라이브러리
    • 모든 AWT 기능 ➕ 고급 컴포넌트 기능 추가 (컴포넌트 종류 다양)
  • javax.swing 패키지
  • Swing 컴포넌트는 경량 컴포넌트(Light Weight Components)이다.
    • native(peer) 운영체제에 의존하지 않는다. - 플랫폼 독립적
  • 교차 할 수 있는 look and feel 제공 ⭕

특징

  • 클래스 명이 J로 시작한다.
  • 화려하고 다양한 컴포넌트로 쉽게 GUI 프로그래밍이 가능하다.
  • 스윙 컴포넌트의 2가지 유형
    • JComponent 는 상속받는 클래스
    • AWT의 Container를 상속받는 몇 개의 클래스


컨테이너

: 다른 GUI 컴포넌트를 포함할 수 있는 컴포넌트

  • java.awt.Container 상속
  • 다른 컨테이너에 포함될 수 있음
    • AWT 컨테이너 : Panel, Frame, Applet, Dialog, Window
    • Swing 컨테이너 : JPanel JFrame, JApplet, JDialog, JWindow

최상위 컨테이너

  • 다른 컨테이너에 속하지 않고 독립적으로 출력가능한 컨테이너
    • JFrame, JDialog, JApplet
  • 모든 컴포넌트는 컨테이너에 포함되어야 화면에 출력 가능

컴포넌트

  • 컨테이너에 포함되어야 화면에 출력될 수 있는 순수 컴포넌트
  • 모든 컴포넌트는 java.awt.Component 를 상속받음
  • 모든 스윙 컴포넌트는 javax.swing.JComponent 를 상속받음

 


 

 

자바 GUI

GUI(Graphical User Interface)

www.notion.so

아래 노션 페이지에 자바 공부 내용에 대해 업로드 합니다!

수정사항이나 질문사항의 경우 노션 댓글로 남겨주세요!(*•̀ᴗ•́*)و ̑̑

 

 

JAVA 이론 정리

주석 단축키 주석 처리하고 싶은 부분을 블록 처리하고 ‘Ctrl+Shift+ / ’를 누르면 /* */로 주석 처리가 됩니다. 주석을 해제하고 싶은 부분을 블록 처리하고 ‘ Ctrl+Shift+ \ (원 표시 혹은 역슬러시)

www.notion.so

 


개발 환경

Intellij

 

작성 플랫폼

Notion

728x90

'🧑‍💻 Language > Java' 카테고리의 다른 글

[Java] 멀티스레드  (0) 2021.10.18
[Java] 14. 스윙  (0) 2021.06.05
[Java] 12. 모듈화와 패키지 응용  (2) 2021.06.01
[Java] 11. 모듈과 패키지  (2) 2021.05.26
[Java] 10. 인터페이스  (0) 2021.05.26