Lesson 10. 애플릿과 그래픽.

Slides:



Advertisements
Similar presentations
KUMHO SOFTWARE DEVELOPMENT 자바 개발 환경 2.2 자바 통합환경 2.3 자바 응용 프로그램과 애플릿 프로그램 2.4 자바 응용 프로그램 2.5 자바 애플릿 프로그램 2. 자바 환경과 자바 프로그램.
Advertisements

12 장 자바 애플릿. 2 Applet 개요 Applet 프로그램 – 웹 페이지에 포함되어 구동 된다. 웹 브라우저나 애 플릿뷰어 (appletviewer) 에서 실행되는 프로그램 – 웹 브라우저 내에 Applet 을 해석하여 실행할 수 있 도록 Applet 구동용 인터프리터가.
제 4 부 : 애플릿과 사용자 인터페이스 제 16 장 애플릿과 그래픽 제 17 장 이벤트 처리 제 18 장 사용자 인터페이스 : AWT 제 19 장 사용자 인터페이스 : SWING.
클래스 class, 객체 object 생성자 constructor 접근 access 제어 이벤트 event 처리.
Ⅰ. 클라이언트 스크립트 Ⅱ. 서버 스크립트 그렇다면 프로그래밍 언어를 수행하는 컴퓨터의 개념적인 구조를 살펴 본다면, 프로그래밍 언어가 무엇인지 이해하는데 도움이 될 것입니다. 현재 컴퓨터 구조의 모태가 되고 있는 폰 노이만 구조는 그림에서 보는 것과 같이, 명령어와.
Power Java 제3장 이클립스 사용하기.
Power Java 제3장 이클립스 사용하기.
4강. Servlet 맛보기 Servlet 문서 작성 하기 web.xml에 서블릿 맵핑 어노테이션을 이용한 서블릿 맵핑
5강. Servlet 본격적으로 살펴보기-I 프로젝트 만들기 doGet() doPost()
최윤정 Java 프로그래밍 클래스 상속 최윤정
Ch.07-5 xml-rpc 사용하기 김상엽.
PHP입문 Izayoi 김조흔.
웹 서버 동작 HTTP 클라이언트가 서버와 대화하는 방법과 데이터를 서버에서 클라이언트로 전송 하는 방법을 정의한 프로토콜
2. 자바 애플릿.
제2장 데이터 및 수식.
제 4 부 제 16 장 애플릿과 그래픽 제 17 장 이벤트 처리 제 18 장 사용자 안터페이스.
19장 스윙과 이벤트 처리 Section 1 스윙 컴포넌트 Section 2 이미지 아이콘과 라벨
자바 프로그래밍의 개요 ㅎㅎ 개요 자바의 소개 JDK 5.0 설치와 개발 환경 설정 자바 프로그래밍 과정 자바 API.
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
Java 기초 (Java JDK 설치 및 환경설정)
명품 JAVA Programming 제 15 장 애플릿과 멀티미디어.
Lesson 10. 애플릿과 그래픽.
자바 5.0 프로그래밍.
모바일 자바 프로그래밍 JDBC / WAP Ps lab 오민경.
Power Java 제14장 배치 관리자.
홈페이지용 그림 활용법 그림 삽입 태그 <IMG> 배경 그림 다루기 그림과 문자열의 어울림
Lesson 7. 클래스와 메소드 - 1.
Servlet 서블릿 기초 FORM 처리 서블릿의 API 세션과 쿠키 com.oreilly.servelet 패키지
6강. Servlet 본격적으로 살펴보기-II
Chapter 03 : 서블릿 ( Servlet ) 개요. chapter 03 : 서블릿 ( Servlet ) 개요.
컴퓨터 프로그래밍 : 실습3 2장 데이터와 식.
제 01 장 인터넷 프로그래밍 개요 학기 인터넷비즈니스과 강 환수 교수.
자바 5.0 프로그래밍.
1. MIDP란? 2. 하드웨어 사양 3. MIDlet 4. MIDlet Suite
속성과 리스너 초기화 파라미터 외 파라미터에 대해 이해한다. 리스너를 생성해보고 사용에 대해 이해한다.
JAVA Canvas Swing.
Method & library.
자바응용.
Chapter03 캔버스(1) HTML5 Programming.
2018년 11월 05일 박성진 Web & Internet [08] 레이아웃 P1 2018년 11월 05일 박성진
HTML5 Canvas 태그 92팸 유승연 안동찬 엄태인 김영재.
영상처리 실습 인공지능연구실.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
Lesson 2. 기본 데이터형.
10. RMI (Remote Method Invocation)
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
웹디자인
자바 5.0 프로그래밍.
12장 쿠키와 세션 이장에서 배울 내용 : 쿠키와 세션은 웹 페이지 간에 정보를 유지할 때 사용된다. 쿠키와 세션은 사용되는 형태가 비슷하나, 쿠키는 웹 브라우저(클라이언트) 쪽에 저장되고, 세션은 웹 서버 쪽에 저장된다. 이 번장에서는 이들에 대해 학습한다.
JA A V W. 06.
14강. 세션 세션이란? 세션 문법 Lecturer Kim Myoung-Ho Nickname 블스
웹(WWW).
12강. 컨트롤러 컨트롤러 클래스 제작 요청 처리 메소드 제작 뷰에 데이터 전달
제 06 장 JSP 액션 태그 학기 인터넷비즈니스과 강 환수 교수.
Introduction to JSP & Servlet
윤 홍 란 제 2 장 데이터와 식-3 그래픽 윤 홍 란
.Net Web Application 2007 컴퓨터공학실험(Ⅰ)
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
JSP Programming with a Workbook
세션에 대해 알아보고 HttpSession 에 대해 이해한다 세션 관리에 사용되는 요소들을 살펴본다
9 브라우저 객체 모델.
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
프로그래밍 언어 학습을 위한 가상실습환경 창원대학교 이수현.
Power Java 제14장 배치 관리자.
29장. 템플릿과 STL 01_ 템플릿 02_ STL.
Chapter2 : 자바환경과 자바 프로그램 2.1 자바 개발 환경 2.2 자바 통합개발환경(IDE)
JAVA 프로그래밍 16장 JNLP.
20 XMLHttpRequest.
Presentation transcript:

Lesson 10. 애플릿과 그래픽

애플릿이란? 자바 애플릿 애플릿(applet)은 컨테이너의 일종이며, 컨테이너는 컴포넌트 또는 다른 컨테이너를 포함할 수 있다. 자바 애플릿(Java Applet)은 웹 브라우저 상에서 실행되는 자바 프로그램이다. 자바 애플릿은 서버에서 클라이언트 쪽으로 전송되어 클라이언트에서 실행된다. 또한 애플릿 프로그램은 main() 메소드를 갖지 않으며, 웹 브라우저나 애플릿 뷰어의 데이터 창에서만 수행되는 제한된 프로그램이다. 애플릿 프로그램이 생성되고 실행이 종료될 때까지 일정한 동작을 반복하는 생명 주기(life cycle)를 가지고 있는 특징이 있다

애플릿과 그래픽 자바 애플릿과 그래픽 자바 애플릿과 그래픽 사용자 인터페이스(GUI) 다양한 그래픽 기능은 Graphics 클래스에서 제공된다. Graphics 클래스는 java.awt 패키지에 포함된 java.awt.Graphics이다 이 클래스에는 다양한 그래픽을 애플릿이나 애플리케이션에 표시할 수 있다. 예를 들면, 글꼴, 색깔, 선, 사각형, 원, 원호, 그림 등이다. 자바 애플릿과 그래픽 사용자 인터페이스(GUI) 그래픽사용자인터페이스(GUI: Graphic User Interface)의 기능은 java.awt 패키지에서 제공하고 있다. GUI의 대표적인 예가 AWT이다. AWT의 컴포넌트로는 버튼, 레이블, 체크상자, 초이스, 리스트, 스크롤바, 텍스트 필드, 텍스트 영역, 메뉴 바, 메뉴 아이템 등이 있다.

자바 애플릿의 프로그래밍 과정 소스 파일명이 Jv_ap.java, Jv_ap.java.html이라고 하면 자바 애플릿의 프로그래밍 과정은 다음과 같다. (예) 콘솔(MS-DOS) 환경에서 javac Jv_ap.java를 실행하면 Jv_ap.class 파일이 생성된다. ① 자바클래스명 .java ④ 실행결과 (애플릿 뷰어) ⑤ 실행결과 (웹 브라우저) ③ 자바클래스명 .class 자바컴파일러 (javac) 애플릿뷰어 혹은 웹 브라우저 ② 자바클래스명 .html

자바 애플릿의 실행시 동작 원리 ① 사용자(클라이언트)는 서버에게 접속하여 HTML 문서를 요청한다. ...... <APPLET CODE = "Jv_ap.class"> </APPLET> </HTML> ....... <<클라이언트>> http://......Jv_ap.html <<서버>> HTML 문서 바이트 코드 ① ② ③ ④ ① 사용자(클라이언트)는 서버에게 접속하여 HTML 문서를 요청한다. ② 웹서버는 클라이언트에게 HTML 문서를 다운로드한다. ③ 클라이언트는 HTML 문서에 APPLET 태그가 포함되어 있고 웹 브라우저가 자바를 지원한다면, 웹 브라우저는 애플릿을 정의한 자바 코드의 속성 값을 찾고 웹서버에게 바이트 코드를 요청한다.  ④ 웹서버는 클라이언트에게 애플릿 바이트 코드를 다운로드한다. ⑤ 클라이언트의 웹 브라우저는 이 바이트 코드를 해석하여 웹 브라우저 내에서 애플릿을 실행시킨다.

애플릿 동작과정

CGI(Common Gateway Interface)

애플릿의 정의 import java.applet.Applet;  Applet 패키지 import Applet 클래스 상속 class 애플릿이름 extends Applet  애플릿 헤더 { // 멤버변수 선언 // 메소드 구현 } 애플릿 바디

CODE CODEBASE ARCHIVE NAME ALIGN HSPACE VSPACE WIDTH HEIGHT PARAM HTML문서에서 인수 전달하기 <HTML> <BODY> <APPLET CODE=애플릿이름.class [ CODEBASE=애플릿위치 ARCHIVE=JAR파일이름 NAME=애플릿이름 ALIGN=정렬방식 HSPACE=수평공간크기 VSPACE=수직공간크기 ] WIDTH=가로크기 HEIGHT=세로크기> <PARAM NAME=속성이름 VALUE=속성값> </APPLET> </BODY> </HTML> CODE CODEBASE ARCHIVE NAME ALIGN HSPACE VSPACE WIDTH HEIGHT PARAM

애플릿 라이프 사이클 메소드 기능 void init() 애플릿을 초기화한다. 웹 브라우저에 의해서 애플릿이 메모리에 적재될 때 이 메소드가 호출된다. 객체의 생성, 폰트나 이미지 값 등의 초기화 작업을 수행하며 애플릿이 시작될 때 단 한번 수행된다. void start() 애플릿을 시작한다. init() 메소드 호출 후에 이 메소드가 호출되며, 애플릿이 잠시 중지하였다가 다시 재개할 때도 실행된다. 이 메소드는 애플릿이 실행되는 동안에 여러번 실행될 수 있다. void stop() 애플릿을 중단한다. 애플릿이 포함된 웹페이지를 벗어나거나 웹 브라우저가 아이콘화되었을 때 자동으로 호출한다.  void destroy() 애플릿을 종료한다. 즉, 애플릿의 자원을 반납한다. void paint(Graphics g) 컴포넌트(Component) 클래스에서 상속 받는 메소드로서 Graphics 객체 g를 이용하여 그림을 그린다. void showStatus(String s) 웹 브라우저의 상태 표시 줄에 s를 표시한다.

자바 애플릿 프로그램의 구조 import java.applet.*; import java.awt.*; public class 클래스명 extends Applet {      .............            public void init() {          ...................... }       public void start() {          ....................... }        public void stop() {          ........................ }               public void destroy() {          .........................}               public void paint(Graphics g) {        ...........................         g.drawString(“..................”);        .......................... } } <HTML>   .....................   <APPLET CODE = "클래스명"              WIDTH=가로픽셀수 HEIGHT=세로픽셀수              [ CODEBASE = 클래스 기본 URL ]              [ ALT = 교체 텍스트 ]              [ NAME = 애플릿 인스턴스명 ]              [ ALIGN = 정렬 값 ]              [ VSPACE = 픽셀 수 ]              [ HSPACE = 픽셀 수 ] >                       [ < PARAM NAME = 파라미터명1 VALUE = 값1> ]                 .........................   </APPLET>   ......................            </HTML>

애플릿 컴파일과 실행 컴파일 실행 javac MyApplet.java  애플릿 프로그램 appletviewer MyApplet.html  애플릿이 연결된 HTML 문서

색상 지정 1 : import java.awt.*; 2 : import java.applet.*; 3 : 4 : public class ColorTest extends Applet 5 : { 6 : public void init() 7 : { 8 : setBackground(Color.yellow); 9 : } 10 : 11 : public void paint(Graphics g) 12 : { 13 : g.setColor(Color.blue); 14 : g.drawString("노란색 바탕에 파란색으로 글씨를 씁니다.", 20, 100); 15 : } 16 : }

글꼴 지정 Font myFont = new Font("SansSerif", Font.BOLD, 12); 글꼴이름 글꼴형태 글꼴크기    Font myFont = new Font("SansSerif", Font.BOLD, 12); g.setFont(myFont);   그래픽컨텍스트 Font형인수 Font.PLAIN Font.BOLD Font.ITALIC Font.BOLD+Font.ITALIC 자바 표준 글꼴 Serif SansSerif Monospaced

문자 출력 1 : import java.awt.*; 2 : import java.applet.*; 3 : 4 : public class StringTest extends Applet 5 : { 6 : char[] myChars= {'프', '로', '그', '래', '밍'}; 7 : byte[] myBytes= {0x4a, 0x41, 0x56, 0x41}; 8 : 9 : public void paint(Graphics g) 10 : { 11 : g.drawString("자바2", 10, 20); 12 : 13 : g.drawChars(myChars, 0, myChars.length, 10, 50); 14 : 15 : g.drawBytes(myBytes, 0, myBytes.length, 10, 80); 16 : } 17 : }

선 그리기 g.drawLine(100, 120, 400, 450);     x1 y1 x2 y2 (100, 120)     x1 y1 x2 y2 (100, 120) (400,450)

사각형 그리기 사각형: drawRect(), fillRect() 둥근 사각형: drawRoundRect(), fillRoundRect() 3차원 사각형: draw3DRect(), fill3DRect() g.drawRect(200, 100, 80, 50);     x좌표 y좌표 폭 높이 g.drawRoundRect(200, 100, 80, 50, 60, 40);   모서리폭 모서리높이 (200,100) 80 50

타원 그리기 g.drawOval(200, 100, 80, 50); g.fillOval(200, 100, 80, 50);     x좌표 y좌표 폭 높이 g.fillOval(200, 100, 80, 50); (200,100) 50 80

부채꼴 그리기 g.drawArc(50, 20, 200, 80, 20, 320);       x좌표 y좌표 폭 높이 시작각도 회전각도 g.fillArc(50, 120, 200, 80, 20, 320); 90 180 270 360

다각형 그리기 int[] x1= {20, 40, 80, 250, 200}; int[] y1= {100, 50, 10, 50, 90}; g.drawPolygon(x1, y1, 5);    x좌표배열 y좌표배열 점의수 int[] x2= {20, 40, 80, 250, 200}; int[] y2= {200, 150, 110, 150, 190}; g.fillPolygon(x2, y2, 5);

연결선 그리기 int[] x1= {20, 40, 80, 250, 200}; int[] y1= {100, 50, 10, 50, 90}; g.drawPolyline(x1, y1, 5);    x좌표배열 y좌표배열 점의수