AWT (Abstract Windowng Toolkit)
- 자바 처음 나왔을 때 함께 배포된 GUI 라이브러리
운영체제에 따라 서로 다른 모양으로 그려짐
Swing ( 스윙 )
AWT기술 기반으로 작성된 자바 라이브러리
운영체제 관계없이 항상 동일하게 작동하며 동일한 모양으로 그려짐 (호환성)
대문자 J로 컴포넌트 이름이 시작됨. Jswing
자바 GUI 라이브러리의 계층구조이다.
『 컨테이너 』
- 컴포넌트들의 배치를 관리하는 Layout의 개념
- java.awt.Container 를 상ㅇ속받는다.
ex ) JPanel, JFrame, JApple, JDialog, JWindow
// J 패널 안에 J프레임을 선언
『 컴포넌트 』
- 컨테이너에 포함되어야 화면에 출력될 수 있는 GUI 객체
- 화면 구성을 담당하는 요소 [ 라디오 버튼, 대화상자 등등 ]
ex ) JButton, JLabel , JTextField
즉, 컨테이너 안에 컴포넌트가 있다.
『 Swing 특징 』
이벤트를 순차적으로 처리하기 위한 이벤트 큐를 가짐.
『이벤트 큐』
- Swing 내부에 존재하는 이벤트를 저장하고 관리하는 공간
- 이벤트 디스패칭 쓰레드 (EDT) 이벤트를 꺼내서 실행함.
* EDT는 하나씩 존재한다.
이벤트
- 컴포넌트에서 구현되는 비즈니스 로직
- 마우스 클릭, 움직이기, 키보드 인터럽트 같은 행동을 의미.
Windows 빌더의 Swing Designer를 사용할 것이다.
이클립스 하단의 Design 탭을 누르면 디자인탭으로 전환 가능하다.
Properties 의 Variable은 변수를 나타내고,
클래스, 배경색상, 폰트, 아이콘이미지 등을 설정 할 수 있다.
DefaultClose는 프레임이 언제 닫히느냐를 설정한다. EXIT_ON_CLOSE는 프레임의 X자를 클릭하는 행동을 의미한다.
enabled 는 창을 활성화 하느냐는 의미이다.
title 은 타이틀명,
Layouts 은 Containers에 적용가능.
Components 는 Containers 에 들어가는 컴포넌트들이다.
기본 레이아웃이 border 로 설정되어있다.
Absolute 레이아웃을 적용은 패널을 생성하였다.
컴포넌트를 배치하려고 했는데, 원하는 위치에 놓지 못하고 자동정렬이 된다.
따라서 Absolute 레이아웃을 패널 안에도 같이 걸어야 한다.
라벨을 생성하고 변수명과 가운데 정렬을 적용하였다.
컴포넌트에 우클릭 Add event hanler를 통해 어떤 상호작용을 취할 것인지 알 수 있다.