1 / 44

5. High level GUI Programming (1) J2SE 에서 GUI 프로그래밍 AWT 와 Swing 패키지 사용

5. High level GUI Programming (1) J2SE 에서 GUI 프로그래밍 AWT 와 Swing 패키지 사용. WIPI GUI 패키지 라벨 , 버튼 , 텍스트 필드 , 체크박스 등과 같은 컴포넌트 부분 을 적절하게 조합 , 배치함으로써 화면 구성 그래픽 처리를 위한 그림 그리기나 이미지 처리와 관련된 그래픽 관련 클래스 를 사용. ShellComponent Card 클래스와 연결 , 제목 과 명령 입력 컴포넌트 , 작업 컴포넌트

vila
Download Presentation

5. High level GUI Programming (1) J2SE 에서 GUI 프로그래밍 AWT 와 Swing 패키지 사용

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. High level GUI Programming (1) • J2SE에서 GUI 프로그래밍 • AWT와 Swing 패키지 사용 • WIPI GUI 패키지 • 라벨, 버튼, 텍스트 필드, 체크박스 등과 같은 컴포넌트 부분을 적절하게 조합, 배치함으로써 화면 구성 • 그래픽 처리를 위한 그림 그리기나 이미지 처리와 관련된 그래픽 관련 클래스를 사용 High level GUI Programming (1)

  2. ShellComponent • Card 클래스와 연결, 제목과 명령 입력 컴포넌트, 작업 컴포넌트 • UI 컴포넌트를 화면에 보여주기 위해 맨 상단에 이 컴포넌트 사용 • GUI 컴포넌트를 하나로 묶어서 처리할 수 있도록 컨테이너(예, AWT)가 필요한데 그것을 담당하는 컴포넌트 • ContainerComponent를 상속하여 구현한 ShellComponent는 하위 컴포넌트의 위치와 크기를 결정해 주는 상위 부모 컴포넌트이다. • ShellComponent 구성도 java.lang.Object org.kwis.msp.lwc.Component org.kwis.msp.lwc.ContainerComponent org.kwis.msp.lwc.ShellComponent High level GUI Programming (1)

  3. 모든 GUI 컴포넌트는 자신을 표현하기 위하여 자신 보다 상위에 있는 단 하나의 부모 컴포넌트를 가져야 하는데 그것이 ShellComponent이다. • ShellComponent는 Card 클래스를 상속 받지 않지만, 내부적으로 Card를 가지고 있어 getCard() 메소드를 통해서 Card 객체를 얻음 • 자식 컴포넌트를 화면에 보여주기 위하여 맨 상단에 ShellComponent를 위치하고 그 위에 addComponent 메소드를 통하여 UI 컴포넌트를 등록하여야 한다. (주의 ; addComponent 메소드를 한번만 호출) • ShellComponent 주요 생성자 High level GUI Programming (1)

  4. High level GUI Programming (1)

  5. shell = new ShellComponent();를 사용한 경우 High level GUI Programming (1)

  6. High level GUI Programming (1)

  7. ShellComponent 주요 메소드 High level GUI Programming (1)

  8. High level GUI Programming (1)

  9. FormComponent • UI 컴포넌트는 컨테이너에 부착하지 않으면 독자적인 화면을 구성하지 못함 • 다양한 컴포넌트를 일렬로 배열하여 화면을 구성하는 컴포넌트 • ContainerComponent를 확장하여 자식컴포넌트로서 다양한 컴포넌트를 담아서 화면을 구성하는 컴포넌트 • 여러 개의 자식 컴포넌트를 가지고 있어, 각 컴포넌트의 위치를 결정 • Button, TextField, Label, List 등을 혼합하여 다양한 UI 컴포넌트를 혼합할 수 있으며, addcomponent, removeComponent 메소드를 통해서 각 컴포넌트의 삽입, 추가, 삭제할 수 있다. • 자식 컴포넌트를 수평으로 정렬 ; FormComponent(true) • 자식 컴포넌트를 수직으로 정렬 ; FormComponent(false) • 자식 컴포넌트의 포커스 변경 ; UP / DOWN 키 사용 High level GUI Programming (1)

  10. FormComponent 주요 생성자 High level GUI Programming (1)

  11. FormComponent 주요 메소드 High level GUI Programming (1)

  12. High level GUI Programming (1)

  13. High level GUI Programming (1)

  14. ButtonComponent–‘확인’ 또는 ‘OK’버튼 • 버튼을 누르면 이벤트가 발생하고, 이 이벤트를 처리하는 모듈에 전달하여 원하는 동작을 수행하게 하는 컴포넌트이다. • 버튼의 구성 ; 문자열과 이미지 • ButtonComponent 주요 생성자 • 생성된 버튼을 눌렀을 때 어떤 동작을 수행시키려면 ActionListener을 구현한 뒤 버튼에 다음과 같은 메소드를 등록해 주면 된다. High level GUI Programming (1)

  15. ActionListner 인터페이스는 다음 한 메소드만 정의하고 있다. • ButtonComponent의 주요 메소드 High level GUI Programming (1)

  16. High level GUI Programming (1)

  17. High level GUI Programming (1)

  18. LabelComponent • 핸드폰 화면상에 고정 문자열을 표시할 때 주로 사용하는 컴포넌트이다. • LabelComponent는 setLayout(int)를 사용하여 정렬형태를 지정할 수 있다. • 정렬 조합 규칙 High level GUI Programming (1)

  19. LabelComponent 주요 생성자 High level GUI Programming (1)

  20. LabelComponent 주요 메소드 High level GUI Programming (1)

  21. High level GUI Programming (1)

  22. High level GUI Programming (1)

  23. High level GUI Programming (1)

  24. java.lang.Object org.kwis.msp.lwc.Component org.kwis.msp.lwc.ContainerComponent org.kwis.msp.lwc.FormComponent org.kwis.msp.lwc.ListComponent • ListComponent/ListItemComponent • ListComponent는 리스트 항목들을 화면에 순차적으로 나열해서 보여주고 사용자가 하나 또는 그 이상의 리스트 항목들을 선택할 수 있도록 하는 컴포넌트이다. • 리스트 항목을 구현하는 컴포넌트 ; ListItemComponent • ListComponent 계층도 • ListItemComponent만을 추가할 수 있다. High level GUI Programming (1)

  25. ListComponent 선택방법의 3가지 유형 • ListComponent의 이벤트를 처리하기 위한 2가지 인터페이스 • select 키를 누르거나 숫자 키를 눌러 항목을 선택할 경우 ActionListener의 action() 메소드가 호출 • 포커스 된 항목이 변경되었을 경우 ChangeLisetener의 changed() 메소드가 호출 High level GUI Programming (1)

  26. ListComponent 주요 메소드 High level GUI Programming (1)

  27. High level GUI Programming (1)

  28. High level GUI Programming (1)

  29. High level GUI Programming (1)

  30. High level GUI Programming (1)

  31. ChechboxComponent/CheckboxGroup • CheckboxComponent는 사용자가 여러 종류의 옵션을 선택하는데 많이 사용된다. • CheckboxComponent는 체크박스나 라디오버튼 기능을 구현한 컴포넌트이다. • 체크박스로 사용할 때는 CheckboxComponent가 하나의 객체로 독립적이어서 상호간에 간섭을 하지 않는다. • 라디오버튼으로 사용할 때는 같은 그룹 내의 CheckboxComponent 중 하나가 선택되면 다른 CheckboxComponent들은 선택되지 않는 상태가 된다. • CheckboxGroup으로 묶어진 CheckboxComponent들은 라디오버튼으로 동작하게 된다. • CheckboxComponent 주요 생성자 High level GUI Programming (1)

  32. CheckboxComponent 주요 메소드 • CheckboxGroup을 만들기 위한 생성자 High level GUI Programming (1)

  33. CheckboxGroup 주요 메소드 High level GUI Programming (1)

  34. High level GUI Programming (1)

  35. High level GUI Programming (1)

  36. ComboComponent • ComboComponent는 여러 개의 항목을 나열하고 사용자로 하여금 항목을 선택하게 만드는 컴포넌트이다. (팝업메뉴 기능 제공) • ComboComponent는 선택된 단 하나의 항목만 보여주다가 select 키를 누르면 팝업메뉴 형태로 선택할 수 있는 리스트 항목들을 보여준다. • ComboComponent 생성자 • ComboComponent 주요 메소드 High level GUI Programming (1)

  37. High level GUI Programming (1)

  38. High level GUI Programming (1)

  39. High level GUI Programming (1)

  40. TextBoxComponent • TextBoxComponent는 사용자가 문자를 입력하고 편집하기 위해 사용되는 컴포넌트이다. • TextBoxComponent 계층도 java.lang.Object org.kwis.msp.lwc.Component org.kwis.msp.lwc.TextComponent org.kwis.msp.lwc.TextBoxComponent • TextBoxComponent 생성자 High level GUI Programming (1)

  41. TextBoxComponent 입력 제한자 High level GUI Programming (1)

  42. TextBoxComponent 주요 메소드 High level GUI Programming (1)

  43. High level GUI Programming (1)

  44. High level GUI Programming (1)

More Related