1 / 40

자바 5.0 프로그래밍

자바 5.0 프로그래밍. chapter 14 : GUI. 학습목표. AWT ( Abstract Window Toolkit) AWT 계층구조 Container 특징 LayoutManager AWT 이벤트 이벤트 처리방법 Adapter. AWT. 정의. 자바의 GUI 및 이벤트처리를 담당하는 GUI 메커니즘을 의미. 작성방법. java.awt 패키지의 클래스 이용. OS 자원을 이용하여 GUI 를 보여준다 . 플랫폼에 종속적이다 ( weight ).

Download Presentation

자바 5.0 프로그래밍

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 자바 5.0 프로그래밍

  2. chapter 14 : GUI

  3. 학습목표 • AWT ( Abstract Window Toolkit) • AWT 계층구조 • Container 특징 • LayoutManager • AWT 이벤트 • 이벤트 처리방법 • Adapter

  4. AWT • 정의 • 자바의 GUI 및 이벤트처리를 담당하는 GUI 메커니즘을 의미. • 작성방법 • java.awt 패키지의 클래스 이용. • OS자원을 이용하여 GUI를 보여준다. • 플랫폼에 종속적이다 ( weight ) • javax.swing 패키지의 클래스 이용. • 자체적인 GUI클래스로 보여준다. • 플랫폼에 독립적이다 ( light )

  5. AWT • 계층구조

  6. AWT • 구성요소 • 비주얼Component • Button , Checkbox , Label 등 • 반드시 Container을 통해서 보여진다. • Container • Window 계열 : 비주얼컴포넌트 및 Panel을 보여준다. - Frame - Dialog • Panel 계열 : - Applet - 독립적으로 작동하지 못하고 반드시 Window계열을 통해서 보여진다. • LayoutManager • BorderLayout , FlowLayout ,CardLayout , GridLayout 등 • 컴포넌트의 위치 및 크기 설정.

  7. AWT • 실행화면

  8. Container • Frame • 일반적인 응용프로그램에서 윈도우를 생성하기 위해 사용된다. • 기본적으로 타이틀, 최소버튼,최대버튼,종료버튼이 지원된다. • 상위클래스인 Window은 타이틀,메뉴가 지원되지 않는다. • 기본으로 화면에 안보이게 설정했기 때문에 반드시 f.setVisible( true)값으로 설정한다. • 화면크기는 setSize() , setBounds() 메소드를 사용한다. • 기본 LayoutManager은 BorderLayout 이다. • Panel • 컴포넌트들을 그룹별로 묶어서 처리할 때 사용한다. • 독립적으로 보여주지 않고 반드시 Frame을 통해서 보여진다. • 기본 LayoutManager은 FlowLayout 이다. • 주로 컴포넌트들의 화면배치문제로 인해 Panel을 자주 사용한다.

  9. Component • 특징 • GUI화면을 구성하는 기본단위로서 각 컴포넌트들의 공통적인 메소드를 정의하고 있다. • 종류

  10. LayoutManager ( 배치지시자 ) • 특징 • 컴포넌트들을 자동으로 배치하는 기능을 가진 객체를 LayoutManager라고 한다. • 컨테이너에 컴포넌트를 배치할 때의 위치와 크기가 정해져 있다. • 컨테이너는 기본적으로 하나의 LayoutManager를 갖는다. • 컨테이너 고유의 LayoutManager를 바꿀수 있다. • setLayout() 메소드 이용 • 종류 • BorderLayout • FlowLayout • CardLayout • GridLayout • GridBagLayout

  11. BorderLayout • 특징 • Frame의 기본 배치관리자 이다. • 5개의 영역으로 구분되어 배치된다. • 기본은 Center 이다. • Center영역은 다른 영역이 지정되지 않으면 그 영역을 포함한다. • 컴포넌트 크기가변 , 위치불변 • 배치관리자 변경메소드 : f.setLayout( new FlowLayout());

  12. BorderLayout • 예제

  13. FlowLayout • 특징 • Panel 의 기본 배치관리자 이다. • 수평으로 순서대로 늘어놓는 형태의 배치관리자이다. • 컴포넌트 크기불변, 위치가변

  14. FlowLayout • 예제

  15. GridLayout • 특징 • 바둑판 형태의 배치관리자이다. • 생성시 행과열을 지정한다. • 컴포넌트 추가는 좌측에서 우측으로 , 위에서 아래로 추가된다.

  16. GridLayout • 예제

  17. Panel 사용예제

  18. GUI 이벤트

  19. AWT 이벤트 • 이벤트( Event ) • GUI 컴포넌트에서 발생되는 모든 행위를 지칭하는 용어. • - 버튼을 클릭하거나 윈도우 종료단추를 클릭하는 행동 • 이벤트 소스( Event Source) • Event 가 발생된 컴포넌트를 의미한다. • - 버튼을 클릭하면 이벤트가 발생이 됐으며 이벤트소스는 버튼이된다. • 이벤트 처리( Event Handling) • Event가 발생되었을 때 실제로 발생되는 동작을 의미한다. • - 윈도우 종료버튼을 클릭하면 창이 닫힌다. • 이벤트 리스너( Event Listener) • 컴포넌트에서 이벤트의 발생여부를 체크하고 실제적으로, 발생된 각 이벤트의 처리메소드를 정의하고 있는 프로세스를 의미. • 인터페이스로 선언.

  20. interface JVM 이벤트발생 버튼클릭 이벤트핸들러 • AWT 이벤트 • 이벤트 처리자( Event Handler) • 이벤트 리스너에 전달된 이벤트를 실제로 구현작업을 담당하는 • 클래스를 의미한다. • 이벤트리스너를 implements 해서 구현한다. • 자바의 이벤트 처리방법 • GUI프로그램이 실행중에 OS가 이벤트가 발생이 되는지를 검사. • 이벤트가 발생되면 OS가 JVM에게 이벤트를 전달한다. • JVM은 발생된 이벤트를 처리하기 위하여 이벤트객체를 생성. • 생성된 이벤트객체를 이벤트리스너를 구현한 이벤트핸들러로 • 전달하여 이벤트 처리를 한다.

  21. AWTEvent ActionEvent AdjustmentEvent ComponentEvent ItemEvent TextEvent ContainerEvent FocusEvent WindowEvent InputEvent PaintEvent KeyEvent MouseEvent • AWT 이벤트 • java.awt.event 패키지의 Event 계층구조

  22. AWT 이벤트 • java.awt.event 패키지의 Event 내용

  23. AWT 이벤트 • 컴포넌트별 발생이벤트 종류

  24. AWT 이벤트 • ActionEvent • 버튼이 클릭되거나 리스트, 메뉴등이 선택되었을 때 발생한다. • 텍스트필드에서 엔터를 쳤을때도 발생한다.

  25. AWT 이벤트 • ItemEvent • 체크박스, 리스트 , 초이스 컴포넌트에서 항목을 선택하거나 • 해제했을 경우 발생한다.

  26. AWT 이벤트 • keyEvent • 키보드를 통해서 키 입력을 했을 경우에 발생한다.

  27. AWT 이벤트 • MouseEvent • 마우스를 클릭하거나 포인터가 컴포넌트 영역에 들어오거나 • 벗어날 때 발생한다.

  28. AWT 이벤트 • WindowEvent • 윈도우를 활성화 ,아이콘화 ,비활성화 작업시 발생한다.

  29. AWT 이벤트 • 이벤트 리스너 종류

  30. AWT 이벤트 • 이벤트 리스너 종류

  31. AWT 이벤트 • 이벤트 처리 3단계 • 1 단계. • 이벤트소스를 결정한다. • 2 단계. • 이벤트리스너를 결정하고 리스너를 구현할 이벤트핸들러를 작성한다. 반드시 인터페이스를 구현한다. • 3 단계. • 이벤트소스와 이벤트리스너를 연결한다. • 연결방법은 addXXXListener() 메소드를 이용한다. ( XXXListener 은 인터페이스명 이다. ) • 이벤트 핸들러 위치에 따른 4가지 이벤트처리법 • GUI 와 이벤트핸들러가 같은 클래스로 처리. • GUI 와 이벤트핸들러가 다른 클래스로 처리. • GUI 와 이벤트핸들러가 내부클래스로 처리. • GUI 와 이벤트핸들러가 anonymous클래스로 처리.

  32. 이벤트 핸들러 위치에 따른 4가지 이벤트처리법 • 같은 클래스 처리

  33. 같은 클래스 처리 • 이벤트소스 분석에 의한 이벤트 처리 • getActionCommand() • getSource()

  34. 이벤트 핸들러 위치에 따른 4가지 이벤트처리법 • 다른 클래스 처리

  35. 이벤트 핸들러 위치에 따른 4가지 이벤트처리법 • 내부 클래스 처리

  36. 이벤트 핸들러 위치에 따른 4가지 이벤트처리법 • anonymous 클래스 처리

  37. Adapter 클래스 • 정의 • 2개 이상의 추상메소드를 가진 Listener 인터페이스를 미리 구현한 클래스이다. • 용도 • Listener 인터페이스를 이용해서 이벤트처리를 하면 반드시 • 추상메소드를 구현해야 한다. • 필요하지 않는 메소드까지도 구현해야하는 불편함을 해소할 수 있다. • 방법 • Listener 인터페이스 대신 Adapter 클래스로 이벤트처리를 한다.

  38. Adapter 클래스 • Listener 와 Adapter

  39. Adapter 클래스 • 예제

  40. 요약 정리 • AWT 와 컴포넌트 • Frame • Panel • LayoutManager • 이벤트 처리 • 이벤트 처리 4가지 방법 • Adapter

More Related