61
AWT 컴포넌트 1 AWT 프로그램과 이벤트 AWT 컴포넌트 1. AWT 프로그램과 이벤트 2. Component 클래2. Component 클래 3. 메뉴 4. 컨테이너와 컨트롤 5. 배치 관리자 1

AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

AWT 컴포넌트

1 AWT 프로그램과 이벤트

AWT 컴포넌트

1. AWT 프로그램과 이벤트

2. Component 클래스2. Component 클래

3. 메뉴

4. 컨테이너와 컨트롤

5. 배치 관리자1

Page 2: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

AWTAWT

▶AWT: Ab t t Wi d T lkit▶AWT: Abstract Window Toolkit

▶GUI를 만들기 위한 API

윈도우 프로그래밍을 위한 클래스와도구를 포함도구를 포함

▶Graphical User Interface

그래픽 요소를 통해 프로그램과 대화하는 방식

그래픽 요소를 GUI 컴포넌트라 함

2

Page 3: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

윈도우 프로그램 만들기윈도우 프로그램 만들기

▶간단한 AWT 프로그램▶간단한 AWT 프로그램

import java.awt.*;p jclass MyFrame extends Frame {

public MyFrame(String title) {super(title);super(title);this.setSize(400, 300);this.setVisible(true);

}}}public class HelloAWT1 {

bli t ti id i (St i []) {public static void main(String args[]) {MyFrame myFrame = new MyFrame("Hello AWT");

}}}

3

Page 4: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

이벤트 처리하기이벤트 처리하기

▶이벤트 처리 과정의 예

종료 버튼 클릭종료 버튼 클릭

이벤트가 발생하며, 이벤트 소스에게 전달됨달됨

이벤트 처리기가 등록되어 있는 경우, 이벤트 처리기가 자동 실행됨이벤트 처리기가 자동 실행됨

this.addWindowListener(new MyListener()); s add do s e e ( e y s e e ());

4

Page 5: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

5

Page 6: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

6

Page 7: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

AWT 패키지의 GUI 컴포넌트AWT 패키지의 GUI 컴포넌트

클래스 유형 클래스Button Label Canvas

GUI 컨트롤Button, Label, Canvas, Choice, Checkbox 등

컴포넌트 B d L t Fl L t컴포넌트

배치

BorderLayout, FlowLayout, GridLayout 등

그래픽 출력Color, Font, Point, Graphics, Image 등

컨테이너 Panel, Frame, Window 등

7

Page 8: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

클래스 계층구조클래스 계층구조

C tC tComponentComponent

Button Canvas Checkbox Choice Label List Scrollbar

C i T CContainer TextComponent

WindowPanelscrollPane TextArea TextField

Dialog Frame

FileDialog

8

Page 9: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

기타 AWT의 클래스들기타 AWT의 클래스들

Dimension▶컴포넌트의 너비와 높이를 저장▶컴포넌트의 너비와 높이를 저장(width, height)

R t lRectangle▶사각형 정보의 저장▶사각형 정 의 저장(x, y, width, height)

PointPoint▶2차원 상의 점을 저장(x, y)

9

Page 10: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

기타 AWT의 클래스들기타 AWT의 클래스들

ColorColor▶색상을 표현하기 위한 클래스Color WHITE Color balck Color BLUEColor.WHITE, Color.balck, Color.BLUE

Cursor▶마우스 커서의 모양 설정▶마우스 커서의 모양 설정Cursor.HAND_CURSOR 등

F tFont▶문자 출력에 사용되는 글자체를 표현이름, 스타일, 크기

Graphicsp▶그래픽 정보의 저장

Page 11: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

Component 클래스Component 클래스▶메뉴를 제외한 대부분 GUI 컴포넌트들의 수▶메뉴를 제외한 대부분 GUI 컴포넌트들의 수

퍼 클래스 역할

▶Component 클래스는 abstract 클래스로▶Component 클래스는 abstract 클래스로서 직접 객체를 생성할 수는 없지만, 컴포넌트의 기본적인 동작에 관련된 메소드들을동정의함

11

Page 12: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

Component 클래스의 메소드Component 클래스의 메소드

▶위치 및 크기 관련 메소드▶위치 및 기 관련 메

Rectangle getBounds()

oid setLocation(Point p)void setLocation(Point p)

void setBounds(Rectangle r)

void setPreferredSize(Dimension pSize)

▶그래픽 관련 메소드▶그래픽 관련 메소드

Color getForeground(), void setForeground(Color c)setForeground(Color c)

Font getFont(), void setFont(Font f)

boolean isVisible()12

Page 13: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

컴포넌트 색칠하기컴포넌트 색칠하기

색칠 연산의 유발▶시스템의 의해

컴포넌트가 화면에 처음 등장했을 때컴포넌트가 화면에 처음 등장했을 때

크기가 변하거나 가려졌던 부분이 드러날 때날 때

▶프로그램에 의해

다시 칠해야 할 상황이 될 때

알고리즘에 의해 필요한 경우알고리즘에 의해 필요한 경우

13

Page 14: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

paint( ) 메소드paint( ) 메소드

▶시스템에 의해 색칠하기가 유발된 경우 자동 호출되는 콜백 메소드우 자동 호출되는 콜백 메소드

프로그램에서 직접 호출하지 않음

Component 또는 Container 클래스의paint를 재정의하여 사용해야 함p 정 용

매개 변수 (Graphics 객체)

public void paint(Graphics g)

매개 변수 (Graphics 객체)

: 컴포넌트가 화면에 그려질 때 사용되는 그래픽 관련정보가 이미 설정됨는 그래픽 관련정보가 이미 설정됨

Page 15: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

15

Page 16: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

16

Page 17: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

repaint( ) 메소드repaint( ) 메소드

▶프로그램에 의해 색칠하기가 필요한경우 호출함경우 호출함

Component 클래스의 repaint를 그대로 사용하는 것이 일반적임

(중량) 컴포넌트인 경우 update() 호출중량 경 p

17

Page 18: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

update( ) 메소드update( ) 메소드

repaint()에 의해 호출됨▶재정의하지 않은 경우 배경을 다시

칠하고 paint()을 호출함칠하 paint()을 출함

▶재정의하는 경우 필요한 부분만 다시 그리면 효과적시 그리면 효과적

18

Page 19: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

19

Page 20: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

20

Page 21: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

21

Page 22: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

Window 클래스Window 클래스

Window▶최상위 수준의 컨테이너▶최상위 수준의 컨테이너

▶제목이나 테두리가 없으며 메뉴바를▶제목이나 테두리가 없 며 메뉴바를가지지 않음

▶생성자▶생성자

Window(Frame owner), Window(Window owner)

22

Page 23: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

Frame 클래스Frame 클래스

Frame▶최상위 수준의 컨테이너▶최상위 수준의 컨테이너

▶제목과 테두리가 있으며 메뉴를▶제목과 테두리가 있 며 메뉴를가질 수 있음

▶기본 레이아웃은 BorderLayout▶기본 레이아웃은 BorderLayout

23

Page 24: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

메뉴 관련 클래스 계층구조메뉴 관련 클래스 계층구조

ObjectObjectObjectObject

MenuComponentMenuComponent

MenuBarMenuBar MenuItemMenuItem

MenuMenu CheckboxMenuItemCheckboxMenuItem

PopupMenuPopupMenuPopupMenuPopupMenu

24

Page 25: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

풀다운(Pull Down) 메뉴풀다운(Pull Down) 메뉴

▶제목 시줄 밑의 메뉴바를 가짐▶제목 표시줄 밑의 메뉴바를 가짐

▶메뉴 만들기 과정▶메뉴 만들기 과정

MenuBar 객체 생성MenuBar에 추가할 Menu객체를 생성MenuBar에 추가할 Menu객체를 생성Menu에 추가할 또다른 서브 Menu객체나 MenuItem 객체를 생성하고 Menu나 MenuItem 객체를 생성하고 Menu에 붙임생성한 Menu를 Menubar에 추가생성한 Menu를 Menubar에 추가프레임에 MenuBar를 붙임

25

Page 26: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

팝업(Popup) 메뉴팝업(Popup) 메뉴

팝업 메뉴팝업 메뉴▶컨테이너 내부에서 어디든 나타남▶▶메뉴 만들기PopupMenu 객체를 생성한다PopupMenu에 MenuItem이나 서브 Menu객체를 추가P M 를 F 에 추가PopupMenu를 Frame에 추가PopupMenu를 보이게 함

26

Page 27: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

27

Page 28: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

28

Page 29: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

Dialog 클래스Dialog 클래스

▶일시적으로 화면에 나타나 사용자 입력을 받거나 메시지를 보일 때 사용력을 받거나 메시지를 보일 때 사용

▶생성자

Dialog(Dialog owner, String title)

public Dialog(Frame owner Stringpublic Dialog(Frame owner, String title, boolean modal)

29

Page 30: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

30

Page 31: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

FileDialog 클래스FileDialog 클래스

▶파일을 저장하거나 불러오기를 할 때, 파일을 선택할 수 있게 하는 대화상자모달 대화상자

▶생성자생성자FileDialog(Dialog owner, String title, int mode))

: mode는 FileDialog.LOAD 또는FileDialog.SAVE

▶메소드String getFile()g g

String getDirectory() 31

Page 32: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

32

Page 33: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

Button 클래스Button 클래스

▶이름이 있는 버튼을 표현

▶▶생성자

Button(), Button(String label)(), ( g )

▶메소드

id tL b l(St i l b l) St ivoid setLabel(String label), String getLabel()

33

Page 34: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

34

Page 35: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

Canvas 클래스Canvas 클래스

▶비어있는 사각 영역을 표현

그림이나 글씨를 출력하는데 사용그림이나 글씨를 출력하는데 사용

다른 컨테이너에 포함되어 존재

35

Page 36: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

36

Page 37: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

Checkbox 클래스Checkbox 클래스

▶체크 박스 표현▶체크 박스 표현

▶생성자

Checkbox(String label, boolean state)

Checkbox(String label, boolean state CheckboxGroup group)state, CheckboxGroup group)

: 라디오 버튼 처럼 동작

37

Page 38: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

38

Page 39: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

Choice 클래스Choice 클래스

▶콤보 박스 표현

선택할 아이템이 많은 경우 사용선택할 아이템이 많은 경우 사용

현재 선택된 것이 보임

▶메소드▶메소드

void addItem(String item)

void insert(String item, int index)

String getItem(int index)String getItem(int index)

int getSelectedIndex()

()String getSelectedItem()39

Page 40: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

40

Page 41: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

List 클래스List 클래스▶하나 또는 여러 개의 아이템을 선택

할 수 있게 함선택할 아이템이 매우 많을 때 사용선택할 아이템이 매우 많을 때 사용스크롤 가능

▶생성자▶생성자List(int rows, boolean multipleMode)

▶메소드▶메소드void add(String item), void add(String item int index)add(String item, int index)String getItem(int index)int getSelectedIndex()int getSelectedIndex()

41

Page 42: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

42

Page 43: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

Scrollbar 클래스Scrollbar 클래스

▶스크롤바 생성

▶생성자▶생성자Scrollbar(int orientation, int value, int

i ibl i t i i i t i )visible, int minimum, int maximum)

: orientation은 Scrollbar.HORIZONTAL 또는 S llb VERTICAL는 Scrollbar.VERTICAL

: value는 bubble의 위치 , 기본은 0

: visible은 bubble의 크기, 기본은 10

: minimum은 value의 최소치, 기본은 0

: maximum은 vlaue의 최대치, 기본은 10043

Page 44: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

TextComponentTextComponent

▶텍스트를 편집하거나 다루기 위한 컴포넌트넌

▶TextArea와 TextField의 슈퍼 클래스

▶▶메소드

int getCaretPosition()g ()

String getSelectedText()

String getText()String getText()

void select(int start, int end)

void setText(String t)44

Page 45: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

TextArea와 TextFieldTextArea와 TextField

TextArea▶여러 줄의 텍스트 편집▶생성자TextArea(String text, int rows, int cols, int

llb )scrollbars)

▶메소드void append(String text)void append(String text)void insert(String text, int pos)void replaceRange(String text, int start, int p g ( g , ,

end)

TextField▶한 줄의 텍스트 편집

45

Page 46: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

46

Page 47: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

Container 클래스Container 클래스

▶다른 컴포넌트를 포함하는 컴포넌트

추상 클래스로 기본 메소드 제공추상 클래스로 기본 메소드 제공

자식 컴포넌트들의 배치 담당

ScrollPane, Panel, Window 등

47

Page 48: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

Container 클래스의 메소드Container 클래스의 메소드

▶자식 컴포넌트 관련 메소드

Component getComponentAt(Point p)Component getComponentAt(Point p)

Component getComponent(int n)

▶배치 관련 메소드▶배치 관련 메소드

void setLayout(LayoutManager lm)

void validate()

Insets getInsets()Insets getInsets()

: Insets 클래스에는 경계선의 크기 정보인 top left right bottom를 가짐보인 top, left, right, bottom를 가짐

48

Page 49: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

Panel 클래스Panel 클래스

▶가장 단순한 컨테이너

다른 패널이나 컴포넌트를 포함다른 패널이나 컴포넌트를 포함

다른 컨테이너에 포함되어야 함

이아웃은기본 레이아웃은 FlowLayout

49

Page 50: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

50

Page 51: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

51

Page 52: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

ScrollPane 클래스ScrollPane 클래스

▶자동적 스 롤 기능 제공▶자동적 스크롤 기능 제공

하나의 자식(주로 Panel)만을 포함

배치관리자를 둘 수 없다

마우스 휠을 이용한 스크롤링 가능마우스 휠을 이용한 스크롤링 가능

▶생성자

ScrollPane(int policy)

▶메소드▶메소드

Point getScrollPosition()

( )void setScrollPosition(int x, int y)52

Page 53: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

53

Page 54: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

54

Page 55: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

컴포넌트 수동배치컴포넌트 수동배치

▶부모 컴포넌트가 자식을 수동배치

기본 배치 관리자를 제거함기본 배치 관리자를 제거함

: setLayout(null)

자식 컴포넌트의 위치, 크기를 설정함

: setBounds(): setBounds()

55

Page 56: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

배치 관리자의 사용배치 관리자의 사용

FlowLayout▶수평 배치

▶선호 크기(preferred Size)로 배치함▶선호 크기(preferred Size)로 배치함

▶Panel의 기본 배치 관리자

GridLayout▶바둑판 모양으로 배치▶바둑판 모양으로 배치

▶자식 컴포들의 크기가 동일함▶자식 컴 들의 기가 동일함

56

Page 57: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

배치 관리자의 사용배치 관리자의 사용

BorderLayout▶동 서 남 북 중앙에 배치▶동,서,남,북,중앙에 배치

▶크기가 자동 조절됨

▶ 의 기본 배치 관▶Window, Frame, Dialog 의 기본 배치 관리자

CardLayout▶한번에 하나의 카드(자식 컴포넌트)만 나한번에 하나의 카 (자식 컴 넌 )만 나

타남

▶컨테이너에 추가된 순서 또는 이름에 의테이너에 가 서 이름에 의해 보이게 함

57

Page 58: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

58

Page 59: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

59

Page 60: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

60

Page 61: AWT컴포넌트ysmoon/courses/2011_1/android/... · 2016-06-02 · AWT AWT: Ab t t Wi d T lkitAWT: Abstract Window Toolkit GUI를 만들기 위한 API 윈도우 프로그래밍을

61