[JAVA] 6주차 정리 : AWT (1)
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로 함