3 minute read

1. AWT (Abstract Window Toolkit)

  • 응용프로그램 작성을 위한 다양한 GUI 컴포넌트를 제공

  • java.awt.*; GUI 컴포넌트가 있는 클래스들을 포함한 패키지

  • javax.swing.*; 스윙 GUI 컴포넌트가 있는 클래스를 포함한 패키지

  • 안드로이드 GUI와 비슷하게 사용됨

*GUI: Graphic User Interface, 이미지 혹은 그래픽을 이용하여 메뉴 등을 포함하는 화면을 구성하고, 키보드 외 마우스 등의 편리한 입력 도구를 이용하여 사용자가 입력을 편리하게 하도록 작성하는 사용자 인터페이스

✏️awt

  • AWT : 자바가 처음 나왔을 때 함께 배포된 패키지.
    • Frame, Window, Panel, Button 등과 같은 AWT 컴포넌트들은 중량 컴포넌트라고 불림.
    • OS의 리소스를 많이 소모하여 OS에 부담을 주고, OS에 의존적이므로 OS환경에 따라 다르게 구현될 수 있음

✏️swing

  • Swing : AWT 기술을 기반으로 작성된 라이브러리로 AWT와 달리 순수한 자바 언어로 작성
    • 경량 컴포넌트
    • OS의 도움을 받지 않고 구현되기 때문에 OS와 관계없이 항상 동일하게 작동되고, 동일한 모양으로 그려짐
    • 일반적으로 더 다양하고 모양이 예쁨

✏️container

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

  • 독립적인 컨테이너: 독립 사용 가능, 다른 컴포넌트나 종속적컨테이너 포함
  • 종속적인 컨테이너: 독립 사용 불가
  • add()를 사용해서 추가함
  • 컨테이너에 담기는 컴포넌트는 컨테이너의 설정을 따름

2.AWT 컴포넌트

✏️Frame

  • titlebar와 최소화, 최대화, 닫기 버튼을 가진 윈도우(컨테이너)
- 생성자 Frame (String title)
- setSize(int, int): 사이즈 설정
- setLayout(new 레이아웃명()): 레이아웃 설정
- setVisible(true): 프레임 시각화
- 프레임참조변수. add(컴포넌트 참조변수): 컨테이너에 컴포넌트 추가

✏️Label

  • 텍스트를 표시하는 컴포넌트
- 생성자: Label(), Label(String text), Label(String text, int alignment)  
  		// 텍스트, 정렬방식(정렬방식 미선택 가능)

- 라벨참조변수 setBounds(int, int, int, int)  
			// 가로위치, 세로위치, 가로크기, 세로크기

- getText() : Label의 text를 얻어옴

- setAlignment() :Label의 text 정렬을 지정  
			// Label.LEFT, Label.CENTER, Label.RIGHT 중 하나를 사용.

- setText() : Label의 text를 주어진 값으로 변경

✏️Button

  • 사용자가 클릭했을 때 작업이 수행되도록 하는 컴포넌트
- 생성자: Button(String label)

- setLocation(int, int): 위치 설정 
- addActionLisener(): Event 실행 시켜주기 설정  
			//click → ECA → action method()가 실행
- getLabel() : Button 위의 텍스트 얻기
- setLabel() : Button 에 적혀 있는 텍스트 변경
- getActionCommand() : Button 에 대한 액션 명령어 얻기
- setActionCommend() : Button에 액션 명령어 설정  

✏️Checkbox

  • 선택여부를 표현하는 컴포넌트
- 생성자: Checkbox(), Checkbox(String), Checkbox(String, boolean)  
	// 텍스트, 생성시 체크 여부(미선택 가능)

- Checkboxgroup으로 생성시 그룹 내 체크박스 중 하나만 선택 가능  

- 생성자: Checkboxgroup(String text, CheckboxGroup group, boolean state) 
	// Checkbox 생성자에서 그룹명 추가됨
	
- addItemListener(): Checkbox 이벤트 수신

- getStatus() / setStatus(Boolean): Checkbox의 체크상태 얻기 / 체크상태 설정

- getLabel() / setLable(String): Checkbox의 문자열 얻기 / 문자열 설정

- getSelectedCheckbox(): 선택된 Checkbox 객체 얻기  

✏️Choice

  • 여러 아이템 중 하나를 선택할 수 있게 만드는 콤보박스 컴포넌트
- 생성자: Choice()
- add(String item): Choice에 item을 추가
- remove(int position): 지정된 순서에 있는 item을 제거
- remove(String item) : Choice에서 item을 제거
- getItem(int): 지정된 순서의 item을 얻음
- getItemCount(): 현재 Choice에 추가되어 있는 item이 몇 개인지 알려줌
- getSelectedIndex: 현재 선택되어져 있는 item의 index값을 얻음
- getSlectedItem(): 현재 선택되어져 있는 item을 얻음
- select(int position), select(String itme)  

✏️List

  • 리스트 컴포넌트
- 생성자: List(), List(int rows), List(int rows, boolean multipleMode)  
			// 나타낼 줄의 수, 다중선택 가능 여부 
- List(int row)로 생성시 단일선택
- 리스트참조변수 add("속성"): 목록에 값 추가

- add(String item) : item을 List에 추가
- removeAll() : List의 모든 item을 제거
- remove(int position) : index 지정된 위치에 있는 item을 제거
- remove(String item) : List에서 해당 item을 제거
- getItem(int index) : index 지정된 위치에 있는 item을 얻음
- getItemCount() : List에 있는 item이 모두 몇 개인지 알려줌
- getSelectedIndex : 현재 선택되어 있는 item의 index값을 얻음
- getSlectedItem() : 현재 선택되어 있는 item을 얻음
- select(int position) : 지정된 위치에 있는 item을 선택

✏️TextField

  • 사용자로부터 데이터를 입력받을 수 있는 컴포넌트, single line

  • 한 줄만 입력 가능

- 생성자: TextField(), TextField(int col), TextField(String text), TextField(String text, int col)	
  // 보여질 텍스트, 입력받을 글자 수(크기)
	
- setEchoChar(char) : 비밀번호 안보이게 가려줌
- getSelectedText : TextField의 text중 선택되어진 부분을 얻음
- getText() : TextField의 text를 얻음
- setEditable(Boolean) : TextField의 text를 편집가능(true)/불가능(false) 하도록 함
- setText(String) : 지정된 문자열을 textField의 text로 함  

✏️TextArea : multiple line

 생성자: TextArea(), TextArea(int row, int col), TextArea(String text), TextArea(String text, int row, int col)  
		// 보여질 텍스트, 행, 열, 스크롤바 사용 여부(행렬만 선택 가능)
- append(String) : TextArea에 있는 text의 맨 마지막에 문자열을 덧붙임
- insert(String, int position) : TextArea에 있는 text의 지정된 위치에 문자열을 넣음
- replaceRange(String, int start, int end): text의 start부터 end범위에 있는 문자열을 str에 지정된 값으로 변경
- getSelectedText : TextArea의 text중 선택된 부분을 얻음
- getText(): TextArea의 Text를 얻음
- select(int start, int end) : Start부터 selectionEnd까지의 text 선택
- setEditable(Boolean) : Text를 편집가능(true)/불가능(false)하도록 함
- setText(String) : 지정된 문자열을 TextArea의 text로 함