노트 : 앞으로 WebLog 클래스는 어플리케이션의 핵심 로직이 됩니다. 로그파일을 실제 해석작업하는 모든 메서드는 WebLog 클래스에 속합니다. 이제 곧 GUI를 작성하고 WebLogGUI 클래스라고 명명할 것입니다. 로직을 제어하는 메서드와 속성, GUI를 제어하는 메서드와 속성을 식별하기 쉽도록 하기 위함입니다.
7. System Browser를 닫아주십시오. 앞서 연습했던 UIPainter가 열려있는 경우엔 이것도 닫아주십시오.
8. New Canvas 버튼을 클릭해주십시오.
9. 맨 처음으로 할 일은 (Blank Canvas)윈도우의 표제를 바꾸는 것입니다. GUI페인터 툴 윈도우로 이동해주십시오.(그림 5-3 참조)
그림 5-3. 블랭크 캔버스의 속성
10. Noname Canvas 문자열을 Web Sever log Analysis로 변경해주십시오. 그리고 적용 버튼을 클릭해주십시오.
Blank 캔버스의 창 이름이 변경된 것에 주의해주십시오.
11. 캔버스 버튼을 배치합니다. 팔레트 윈도우에서 Action Button 아이콘을 클릭해주십시오. 그리고 Blank Canvas로 이동해주십시오. Action이라는 버튼이 출현합니다. 마우스를 이동시키면 버튼도 이동합니다. 클릭하게 되면, 버튼은 각 모서리에 "핸들"이 표시되어 배치됩니다. 핸들을 클릭해서 마우스를 드래그하면 버튼 사이즈를 변경할 수 있습니다.
12. 버튼에서 핸들이 표시된 상태에서 GUI페인터 툴 윈도우를 봐주십시오.(그림 5-2 참조)
그림 5-4. 액션 버튼의 속성
13. Action 문자열을 Start로 변경합니다. Action Field 로 이동하여 startWebLog를 입력해주십시오. 적용을 클릭합니다.
액션 필드에 입력한 문자열은 메서드의 이름입니다. 이 메서드는 아직 존재하지 않습니다. 뒤에 기술하겠습니다. 그리고, UIPainter는 메서드의 존재를 신경쓰지 않으며, 그 존재를 확인하지 않습니다. 때문에, 문자열을 심벌(#startWebLog)로 변경합니다. 이것이 일반적입니다. 윈도우를 기동하여 버튼이 클릭되었을 경우, 이 심벌을 취득해서 같은 이름의 메서드를 조사하기 위해 그 심벌을 사용합니다.(실행시에 메서드 이름을 해결합니다.)
그림 5-5. 개시 버튼의 속성
14. GUI페인터 툴 윈도우에서 메인 윈도우를 선택해주십시오.
15. 인스톨 버튼을 클릭해주십시오.
16. 표시된 다이얼로그 박스의 다음 클래스에 install label이 있는 입력 필드에 WebLogGUI를 입력하고 OK를 클릭해주십시오.
그림 5-6. GUI용 신규 클래스 지정
17. 다음 다이얼로그 박스의 작성 탭 아래에 있는 카테고리를 UIApplications-New에서 WebLogStats로 변경해주십시오. 그리고 OK를 클릭해주십시오.
그림 5-7. 기존 코드와 같은 카테고리를 지정
18. GUI페인터 툴의 정의 버튼을 클릭해주십시오.
19. 다음 다이얼로그 박스에서 startWebLog 메서드와 Add to initiallize에 체크가 되어있는 것을 확인해주십시오. OK를 클릭해주십시오.
Note : UIPainter(이 경우, 기술적으로는 UIDefiner)는 startWebLog 메서드의 "Stub"코드를 자동적으로 생성합니다.
20. GUI페인터 툴의 브라우저 버튼을 클릭해주십시오. 또한, 메인 윈도우가 선택되어 있는 것을 확인해주십시오. 위젯이 선택되어있으면 그것에 대응하는 메서드가 열립니다.
WebLogGUI 클래스를 탐색 하기 위해서("계층"모드에서) System Browser가 표시됩니다.
21. action 프로토콜을 클릭(선택)해주십시오.(인스턴스 탭이 선택되어 있는 것을 확인). startWebLog 메서드를 클릭(선택)해주십시오. UIDefiner에 의해 생성된 스텁 메서드(코드)가 표시됩니다.