Chapter 7 Graphical User Interface

Slides:



Advertisements
Similar presentations
비즈쿨 - 정 성 욱 - - 금오공고 비즈쿨 - 정 성 욱 1. 나는 각 단원들의 활동들에 성실하게 참여 하겠습니다. 우리의 다짐 2. 나는 나와 전체의 발전을 위해 각 멘토들의 지도에 순종하겠습니다. 3. 나는 각 단원들을 숙지함으로써 비즈니스 마인드를 함양하고 자신의.
Advertisements

Chap02 자바환경과 자바 프로그램 Section 1 : 자바 개발 환경 Section 2 : 자바 통합 환경 Section 3 : 자바 응용 프로그램과 애플릿 프로그램 Section 4 : 자바 응용 프로그램 Section 5 : 자바 애플릿 프로그램.
내 마음의 버 스 이천신하교회 청년부. 이름 : 한상훈 나이 : 30 살 종교 : 기독교 ( 모태신앙 ) 생활신조 : 인생은 한방 ! 로또나 사자 이상형 : 청순 가련한 모태미녀 특이사항 : 걸그룹 노래에 환장함 식스팩을 갖기엔 슬픈 몸을 타고 남.
ㅋㅋ 다른 집단과 명확히 구별되는 가치체계와 지식 그리고 그에 부합하는 기술을 가지고 있어야 한다. 가치체계 - 사회복지사윤리강령, 선서 등 기본요소 완성 지식 - 사회복지사 1 급 자격증 시험으로 완성 기술 - 명확하지 않으나 실습, 보수교육을 통해 완성 Client.
독서골든벨 2009 학년도 6 학년 1 학기 6-10 반. 1. 이야기 삼국유사 정대한 원효대사는 수행을 위해 떠나던 중 피곤하여 숲 속에서 잠이 들었다. 잠결에 너무 목이 마른 나머지 어디에 담겨있는 물을 맛있게 마셨나요 ?
사용자를 위한 효율적인 UI 란 ? 부서 : IT 사업부 디자인팀 발표자 : 현인철. 목 차목 차 1.UI (User Interface) 란 ? 2. UI 를 고려한 디자인의 필요성 3. 성공적인 UI 를 위한 방법 4. UI 분석과 평가법 5. 효과적 UI 제작을 위한방법.
두 손 들고 두 손 들고 찬양합니다 두 손 들고 찬양합니다 다시 오실 왕 여호와께 다시 오실 왕 여호와께 두 손 들고 찬양합니다 두 손 들고 찬양합니다 다시 오실 왕 여호와께 다시 오실 왕 여호와께 오직 주만이 나를 다스리네 오직 주만이 나를 다스리네 나 주님만을.
미디어 프로그래밍 II 소개.
지금은 기도 하는 시간입니다 1. 송구영신예배를 위해서 2. ‘크리스마스 이브’ 행사를 준비하는 교육 기관을 위하여
아름다운 이들의 행복한 길음안나의 집.
Network Socket Programming java.net.Socket java.net.ServerSocket
소리가 작으면 이어폰 사용 권장!.
현대사회의 여성문제와 여성복지 3조 권경욱 강향원 황대인 변갑수 박창욱 김지현.
소비자 만족도 설문조사 결과.
고교평준화의 득과 실 김영주 이지영 최윤영.
알기 쉽게 해설한 Java 8th edition
1. C 언어의 이해와 컴파일러 설치.
PDA & PC Webhard Network Project 오민식, 김상용, 배은희.
1장 Visual Basic 2010 시작 1.1 프로그램에 대한 기초 1.2 Visual Basic 버전
프로시저 와 인수전달 컴퓨터응용 및 실습 I.
1 C 언어의 이해와 컴파일러 설치 프로그래밍 환경을 구축하자!.
Chapter 05 데이터베이스 프로그래밍.
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
Java의 정석 제 12 장 쓰레드(thread) Java 정석 남궁성 강의
Visual C++ Programming
이벤트(Event) 처리하기 윈도우 프로그램에서는 이벤트를 통하여 실행 중인 프로그램에게 사용자의 요구사항을 알린다.
openGL Project 결과보고서 야구 시구 시뮬레이션
Network Programming Version 2.1.
Department of Computer Engineering
Visual Basic 기초 1 목표: 컴퓨터기반제어에 관련된 학습을 하기 전에 Visual Basic의 기초를 살펴본다.
2010년 직원연수 자료 제1차 : 4월 16일 ~ 17일 제2차 : 4월 23일 ~ 24일
Network Programming(1)
Visual Studio 2010 프로젝트 생성하기 PC화면에서 Visual Studio 2010 아이콘을 더블클릭 하거나
날짜: 팀명: TEAM-SIX 발표자: 이기영
프로그래밍 언어 (C 언어) 기초 과목 개요 이상훈 강원대학교 IT대학 컴퓨터과학전공.
openGL Project 제안서 비 오는 정류장에서
Chapter 3 클래스. 최호성.
Part 0 C Program 안산1대학 디지털정보통신과 임 성 국.
네트워크와 소켓 프로그래밍 Chapter 01. * 학습목표 TCP/IP 프로토콜의 동작 원리를 개관 소켓의 기본 개념을 이해
Transmission Control Protocol (TCP)
칼빈의 생애와 개혁자로의 변모 사학과 김종식.
국제의료관광 관련 법, 제도.
MAIL CLIENT 김창우 윤성훈 이경재.
Java Chapter 4 ~ 주차.
비주얼 프로그래밍 1분반 화/목.
Chapter 16 Socket Interface.
CH2. ASP.NET 페이지 분석 HTML ASP ASP.NET 의 차이점.
자바 5.0 프로그래밍.
Chapter 4 변수 및 바인딩.
운영체제의 종류 장승빈.
Barat을 이용한 Code Transformation
openGL Project 제안서 - 해상 전투
설득력있는 프레젠테이션의 조건 창의적인 디자인 사례 1 창의적인 디자인 사례 2 PPT 사례.
MONSTER CAR 구정재 한석우 김재형.
Outline 클래스의 해부 캡슐화(Encapsulation) 메쏘드의 해부 그래픽 객체(Graphical Objects)
LOGOTYPE 춤추는 풍선 팀장 : 이준호 팀원 : 장원진.
CHAPTER 9-1 한국의 사회복지정책 - 사회보험제도 -
2010년 DAEATi 솔루션 사업부 공채 1기 팀 프로젝트 보고
6월 1주 주간메뉴표 NEW 엄마손 조식 쉐프 삼촌 중식 참새 방앗간 석식 ◎원산지 안내 : 쌀(국내산)
1장 Visual Basic 2010 시작 1.1 프로그램에 대한 기초 1.2 Visual Basic 버전
2장 첫 번째 응용 프로그램 작성
원도우 네트워크 프로그래밍 (TCP/IP 소켓 프로그래밍)
나-는 믿음으로 주 얼굴 보리니- 아침에 깰 때에 주형상에 만족하리 나주님 닮기 원하네 믿음으로 주얼굴 보리라 -
Chapter2 : 자바환경과 자바 프로그램 2.1 자바 개발 환경 2.2 자바 통합개발환경(IDE)
Java Programming for Beginners
컴퓨터 프로그래밍 언어 Visual Basic 6.0 √ 원리를 알면 VB가 쉽다.
Department of Computer Engineering
Chapter8 : 인터페이스와 패키지 8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용
경찰학 세미나 제 5 강 경찰관직무집행법 2조 5호의 의미 신라대학교 법경찰학부 김순석.
2 비주얼 베이직 시작하기 천리 길도 한 걸음부터! 기초부터 다지자..
Presentation transcript:

Chapter 7 Graphical User Interface 소켓 프로그래밍

Graphical User Interface Introduction 비동기 소켓 윈도우 폼 Echo 서버 GUI Echo 클라이언트 GUI SMTP 클라이언트 GUI

Introduction 그래픽 인터페이스를 통한 상호작용 Event-driven 프로그래밍 컴포넌트를 클릭/선택하여 이벤트 발생 이벤트에 대해 수행할 작업과 관련된 코드 입력 사용자가 일으킨 이벤트에 의해 프로그램 흐름이 결정 GUI는 Visual Studio 2008 또는 Visual C# 2008 Express Edition을 이용하여 설계 가능

비동기 소켓 지금까지 사용된 Accept(), Read(), Write() 등의 메서드는 blocking 메서드 접속이 성립되어 클라이언트의 객체가 반환될 때까지 busy waiting을 하며 다른 모든 태스크가 수행되지 못하도록 막아놓고 대기 Read(), Write() 상대방이 데이터를 보낼 때까지 또는 상대방이 읽을 준비가 될 때까지 대기 이러한 blocking은 콘솔 응용 프로그램에서는 큰 문제가 되지 않을 수도 있겠지만, GUI기반 프로그램에서는 freezing 현상이 발생 전체 프로그램이 멈추지 않고 수행을 계속할 수 있도록 하는 방법이 필요 프로그램은 접속요청에 대한 busy waiting을 할 필요가 없으며, 실제 접속요청이 들어올 때 수행을 재개하도록 함으로써 해결

비동기 소켓 비동기 메서드를 가지는 클래스 비동기 메서드의 이름 앞에는 Begin 또는 End가 붙음 Socket TcpListener TcpClient NetworkStream UdpClient 비동기 메서드의 이름 앞에는 Begin 또는 End가 붙음 Begin<Method Name> : 비동기 초기화 메서드 End<Method Name> : 비동기 종료 메서드 Example : BeginAcceptTcpClient(), EndAcceptTcpClient()

비동기 소켓 비동기 메서드 호출 IAsyncResult 정의된 메서드는 비동기 작업이 준비되었을 때 callback 대리자를 통해서 호출됨 즉, 비동기 메서드의 호출은 이 callback 대리자를 인자로 하여 호출을 하고, 다른 작업을 진행하다가 호출한 비동기 작업이 준비가 되면 callback 대리자에 의해 해당 작업을 처리할 메서드를 호출하는 방식을 가짐 IAsyncResult 비동기 작업의 상태를 나타내며 비동기 초기화 메서드 Begin<Method Name>의 반환 형식 또한, callback 대리자를 통해 호출되는 메서드로 전달되어 이후, 비동기 종료 메서드 End<Method Name>로 전달됨

비동기 소켓 핵심 코드 예제 프로그램 : AsyncEchoServer, StateHolder.cs public static void OnClientConnect(IAsyncResult aResult) {  TcpListener listener = (TcpListener)aResult.AsyncState; TcpClient client = listener.EndAcceptTcpClient(aResult); ...  } public static void Main() { ... // Accept the client asynchronously  IAsyncResult aResult = lst.BeginAcceptTcpClient( new AsyncCallback(OnClientConnect), lst);   // Wait for a connection before continue aResult.AsyncWaitHandle.WaitOne(); ... 예제 프로그램 : AsyncEchoServer, StateHolder.cs

윈도우 폼 GUI기반 프로그램을 만들기 위해서 새 프로젝트를 생성 콘솔 응용 프로그램이 아닌 Windows Form 응용 프로그램을 선택 프로젝트 생성 후 폼 디자인 화면

윈도우 폼 윈도우 컴포넌트의 추가 도구상자로부터 drag-and-drop 방식으로 폼에 컴포넌트 추가 도구상자에서 컴포넌트를 선택하여 폼에 그리는 방식으로 추가

윈도우 폼 컴포넌트 속성과 이벤트

윈도우 GUI 애플리케이션 메시지 구동 구조 이벤트 발생 대기 ... 시스템 메시지 큐 메시지 큐 #3 메시지 큐 #2 처리 메시지 큐 #1 메시지 큐 #2 메시지 큐 #3 ... 처리 대기

Echo 서버 GUI 폼 디자인 예제 코드 : ServerForm.cs

Echo 클라이언트 GUI 폼 디자인 코드 예제 : ClientForm.cs

SMTP 클라이언트 GUI 폼 디자인 코드 예제 : SMTPClientFform.cs