제 4 부 : 애플릿과 사용자 인터페이스 제 16 장 애플릿과 그래픽 제 17 장 이벤트 처리 제 18 장 사용자 인터페이스 : AWT 제 19 장 사용자 인터페이스 : SWING.

Slides:



Advertisements
Similar presentations
3. 메소드와 변수 SCJP 자격증 프로젝트 발표자 : 최선웅. 1. 메 소 드 개 념 2. 메 소 드 양 식 3. 메 소 드 변 수 4. 메 소 드 예 제 5. 참 고 문 헌 / 자 료 목 차.
Advertisements

KUMHO SOFTWARE DEVELOPMENT 자바 개발 환경 2.2 자바 통합환경 2.3 자바 응용 프로그램과 애플릿 프로그램 2.4 자바 응용 프로그램 2.5 자바 애플릿 프로그램 2. 자바 환경과 자바 프로그램.
12 장 자바 애플릿. 2 Applet 개요 Applet 프로그램 – 웹 페이지에 포함되어 구동 된다. 웹 브라우저나 애 플릿뷰어 (appletviewer) 에서 실행되는 프로그램 – 웹 브라우저 내에 Applet 을 해석하여 실행할 수 있 도록 Applet 구동용 인터프리터가.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
Chap12 그래피컬 사용자 인터페이스(GUI)
Chapter 16 : Struts 프레임워크 2. chapter 16 : Struts 프레임워크 2.
네트워크 프로그래밍 및 실습.
클래스 class, 객체 object 생성자 constructor 접근 access 제어 이벤트 event 처리.
Power Java 제3장 이클립스 사용하기.
최윤정 Java 프로그래밍 클래스 상속 최윤정
Ch.07-5 xml-rpc 사용하기 김상엽.
4장 자바 기본 구조 4.1 자바 응용 프로그램 분석 4.2 자바 애플릿 프로그램 분석
Part 5 사용자 인터페이스 Chapter 14 : 그래피컬 사용자 인터페이스 Chapter 15 : 이벤트 처리
제 9 장 구조체와 공용체.
Power Java 제2장 자바 개발 도구.
2. 자바 애플릿.
제 4 부 제 16 장 애플릿과 그래픽 제 17 장 이벤트 처리 제 18 장 사용자 안터페이스.
19장 스윙과 이벤트 처리 Section 1 스윙 컴포넌트 Section 2 이미지 아이콘과 라벨
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
네트워킹 CHAPTER 13 Section 1 네트워킹의 개요와 java.net 패키지 Section 2 인터넷 주소와 URL
Java 기초 (Java JDK 설치 및 환경설정)
명품 JAVA Programming 제 15 장 애플릿과 멀티미디어.
Lesson 10. 애플릿과 그래픽.
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
Chap08 다중 스레드 8.1 스레드 개요 8.2 Thread 클래스와 스레드 생명주기 8.3 스레드 생성과 사용
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
FTP 프로그램 채계화 박재은 박수민.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
자바 5.0 프로그래밍.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
패키지와 접근 제어 패키지에 대하여 접근 제어에 대하여.
Power Java 제14장 배치 관리자.
Lesson 10. 애플릿과 그래픽.
Chapter 03 : 서블릿 ( Servlet ) 개요. chapter 03 : 서블릿 ( Servlet ) 개요.
10장. 예외처리.
자바 5.0 프로그래밍.
속성과 리스너 초기화 파라미터 외 파라미터에 대해 이해한다. 리스너를 생성해보고 사용에 대해 이해한다.
CHAP 12. 리소스와 보안.
Java 9장. 인터페이스와 예외처리 public class SumTest {
JAVA Canvas Swing.
Method & library.
JA A V W. 03.
자바응용.
인터넷응용프로그래밍 JavaScript(Intro).
Chapter03 캔버스(1) HTML5 Programming.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
Lesson 2. 기본 데이터형.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
Part 4 클래스 라이브러리 Chapter 10 : 다중 스레드 Chapter 11 : 패키지와 주요 클래스
자바 5.0 프로그래밍.
자바 가상 머신 프로그래밍 Chap 10. 자바 컴파일링의 안쪽 ② Pslab 오민경.
Power Java 제11장 상속.
Mariadb JDBC PROGRAMMING2
CHAP 21. 전화, SMS, 주소록.
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
객체기반 SW설계 팀활동지 4.
암호학 응용 Applied cryptography
클래스 : 기능 CHAPTER 7 Section 1 생성자(Constructor)
.Net Web Application 2007 컴퓨터공학실험(Ⅰ)
제 8장. 클래스의 활용 학기 프로그래밍언어및실습 (C++).
MIDP 네트워크 프로그래밍 ps lab 김윤경.
발표자 : 이지연 Programming Systems Lab.
9 브라우저 객체 모델.
프로그래밍 언어 학습을 위한 가상실습환경 창원대학교 이수현.
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
Power Java 제14장 배치 관리자.
7 생성자 함수.
JAVA 프로그래밍 16장 JNLP.
20 XMLHttpRequest.
Presentation transcript:

제 4 부 : 애플릿과 사용자 인터페이스 제 16 장 애플릿과 그래픽 제 17 장 이벤트 처리 제 18 장 사용자 인터페이스 : AWT 제 19 장 사용자 인터페이스 : SWING

16장 애플릿과 그래픽 16.1 애플릿(applet)의 개요 16.2 Applet 클래스 16.3 애플릿의 생명주기(life cycle) 16.4 애플릿의 보안 16.5 그래픽 사용 16.6 색의 사용 16.7 글꼴(font)의 사용 16.8 HTML 애플릿 태그 16.9 이미지의 사용 16.10 애플릿에서의 스레드 사용

16.1 애플릿의 개요 애플릿 프로그램 WWW 검색기나 애플릿 뷰어(appletviewer)에서 실행되는 작고 간단한 프로그램 WWW의 HTML 코드내에서 호출되어 실행 대부분의 WWW 검색기는 애플릿을 해석하여 실행할 수 있는 interpreter 내장

16.2 Applet 클래스 모든 애플릿 프로그램은 java.applet.Applet 클래스로부터 상속되어 작성되어야 한다 java.lang.Object java.awt.Component java.awt.Container java.awt.Panel java.applet.Applet

16.2 Applet 클래스 Component 클래스 : GUI 구축에 필요로 되는 많은 하위 클래스들을 가지고 있다. 약 100여개의 메소드 제공 Component 클래스의 주요 메소드 Image createImage(int width, width, height 크기의 Image 객체를 int height) 생성하여 반환 Font getFont() 현재 설정된 폰트를 폰트 객체로 반환 FontMetrics getFontMetrics(Font font) font 폰트에 관한 FontMetrics 객체를 반환 Color getForeground() 전경색(foreground)을 Color 객체로 반환 Dimension getSize() 현재 컴포넌트의 크기를 Dimension 객체로 반환 void paint(Graphics g) 현재의 컴포넌트에 Graphics 객체 g를 이용하여 그림을 그리는 메소드 void repaint() JVM에게 update() 메소드 호출을 요청한다 void setBackground(Color c) 배경색을 c로 설정 void setFont(Font f) 폰트를 f로 설정 void setForeground(Color c) 전경색을 c로 설정 public void update(Graphics g) 컴포넌트를 배경색으로 채우고 paint() 메소드를 호출한다

16.2 Applet 클래스 Container, Panel 클래스 : 다른 컴포넌트들을 담을 수 있는 클래스(18장 설명) void init() 애플릿을 초기화한다 void start() 애플릿을 시작시킨다 void stop() 애플릿을 중단한다 void destory() 애플릿을 끝낸다 URL getCodeBase() 애플릿 코드가 있는 URL 객체를 반환 URL getDocumentBase() HTML 문서가 있는 URL 객체를 반환 Image getImage(URL url) url(파일이름 포함)이 지정하는 곳에서 이미지를 가져와 Image 객체로 반환 Image getImage(URL url, url(파일이름 불 포함)이 지정하는 곳에서 imgName으로 String imgName) 지정된 이미지 파일을 가져와 Image 객체로 반환 String getParameter(String pName) 애플릿 호출시 사용한 매개변수 중에서 pName 매개변수의 값을 반환 void showStatus(String str) 검색기의 상태 라인에 str을 나타낸다

16.3 애플릿의 생명주기(life cycle) 사용자가 작성하는 애플릿 프로그램은 생명 주기를 가진다 사용자가 작성하는 애플릿 프로그램에서 Applet 클래스의 메소드들을 오버라이딩하여 애플릿의 기본 기능 작성 import java.applet.*; public class MyApplet extends Applet { ....… public void init() { ..... } public void start() { ....... } public void stop() {....... } public void destroy() { ........ } .....… }

16.3 애플릿의 생명주기(lift cycle) 애플릿의 기본 메소드 init() : 애플릿이 로드되거나 재로드 될 때 수행. 애플릿의 초기화를 위해 사용 start() : 초기화가 끝난 애플릿을 화면에 보여주는 역할을 하는 메소드(생략가능). 애플릿 페이지를 잠시 떠났다가 다시 애플릿 페이지로 돌아왔을 때에도 start() 메소드가 수행 stop() : 사용자가 애플릿이 있는 페이지를 떠나거나 검색기를 아이콘화 하였을 때 실행되는 메소드 destory() : 검색기나 애플릿이 종료될 때 실행되는 메소드

16.3 애플릿의 생명주기(lift cycle) 애플릿에 그림을 그리고 컴포넌트들을 나타내기 위해서는 Component 클래스에서 제공되는 paint() 메소드를 오버라이딩하여 구현한다 애플릿에 그래픽을 출력하기 위한 메소드 실행 : start() 메소드가 수행된 후 애플릿을 reload 할 때 애플릿 화면을 떠났다가 다시 돌아올 때 검색기가 아이콘화 되었다가 다시 복귀될 때 일반적인 메소드들은 명시적으로 메소드를 호출하는 메시지에 의해 수행되지만, 애플릿 메소드들은 검색기에 의해 자동으로 호출

16.3 애플릿의 생명주기(lift cycle) 애플릿의 동작 init() start() stop() destroy() 처음 방문시 애플릿 페이지로 복귀 할 때 애플릿을 종료 init() start() stop() destroy() 페이지를 떠날때 paint() 애플릿의 동작 paint() 메소드는 애플릿에 그래픽을 출력하기 위한 메소드이다. start() 또는 init() 메소드에 의해 자동으로 호출되어 수행된다.

16.3 애플릿의 생명주기(lift cycle) 애플릿 프로그램의 예 /* <html> <head><title>애플릿 생성에서 실행까지</title></head> <body> <applet code="AppletExam" width=550 height=80> </applet> </body> </html> */ import java.applet.Applet; import java.awt.Graphics;

16.3 애플릿의 생명주기(lift cycle) public class AppletExam extends Applet { String temp = ""; public void init() { temp += "init()수행 "; } public void start() { temp += "start()수행 "; } public void stop() { temp += "stop()수행 "; } public void destroy() { // 애플릿이 종료될 때 호출 System.out.println("애플릿이 종료"); } public void paint(Graphics g) { g.drawString("애플릿이 생성되어 종료되기까지........",30,30); g.drawString(temp, 10, 50); }

16.3 애플릿의 생명주기(lift cycle)

16.3 애플릿의 생명주기(lift cycle) 대부분의 애플릿 응용 프로그램들은 사용자와의 상호작용을 요구한다. 사용자의 동작(event)을 받아들여 처리하는 형태의 프로그램을 이벤트 지향(event-driven) 프로그램이라 한다 자바는 이벤트 처리와 관련된 패키지를 제공하고 있다(17장)

16.4 애플릿의 보안 : 자바의 보안 자바의 보안 : 3개의 계층 자바 프로그래밍 언어 자체의 보안 자바 컴파일러와 런타임 시스템 SecurityManager 클래스 자바 프로그래밍 언어 자체의 보안 모든 기본 자료형이 플랫폼에 독립적으로 설계 (예 : int는 항상 32비트) 객체에 대한 포인터 조작 불가 배열 경계 검사를 수행하여 유효한 메모리만 접근 객체의 합법적인 형변환만 가능

16.4 애플릿의 보안 : 자바의 보안 자바 컴파일러와 런타임 시스템 보안 : 보안 실행 환경 제공 바이트코드 검증기와 클래스 포맷 검사기 실행시간 라이브러리 검사 및 로딩 기법 자동 쓰레기 수집 SecurityManager 클래스 : JDK1.0 접근제어와 연관된 모든 정책을 중앙집중식으로 관리해주는 클래스 웹 검색기는 이 클래스를 통해 보안 관리자의 기능을 수행 애플릿의 보안 부분은 JDK의 버전 향상에 따라 발전

16.4 애플릿의 보안 : 자바의 보안 JDK1.0 JDK1.1 애플릿의 보안 JVM JVM Local Code Remote Code Local Code Remote Code Signed Unsigned JVM JVM Sandbox Sandbox Valuable Resources Valuable Resources JDK1.0 JDK1.1

16.4 애플릿의 보안 : 자바의 보안 애플릿의 보안 : JDK1.2 : Java 2 모든 코드는 서명과 상관없이 정책 파일(policy file)의 내용에 따라 시스템의 자원에 대한 접근 권한을 가지도록 설계 정책파일(policy file) : 특정한 자원에 대한 접근을 누구에게 허용할 것인지를 지정하는 파일 codebase http://www.company.com signedBy “12345678901122334455” permission File “local/test” action “read.write” …………………………………….

16.4 애플릿의 보안 애플릿 프로그램들은 네트웍을 통하여 다운로드 되어 실행되므로 다음과 같은 제한을 가진다 애플릿들은 다운로드된 컴퓨터의 지역 프로그램을 실행시킬 수 없다. 애플릿들은 다운로드되는 서버가 아닌 다른 컴퓨터와의 통신은 허용하지 않는다. 애플릿들은 다운로드된 컴퓨터의 파일 시스템에 접근할 수 없다 애플릿들은 다운로드된 컴퓨터의 정보를 알 수 없다(예외 : 검색기의 버전, 운영체제의 이름과 버전, 경로 등은 알 수 있다.) JVM은 애플릿 프로그램이 클라이언트 컴퓨터의 디스크를 읽거나 쓰는 동작을 시도하면 보안(security) 관련 예외를 발생시킨다

16.4 애플릿의 보안 원격 애플릿을 지역 애플릿을 애플릿 자바 로드하는 로드하는 뷰어 응용 프로그램 넷스케이프 넷스케이프 원격 애플릿을 지역 애플릿을 애플릿 자바 로드하는 로드하는 뷰어 응용 프로그램 넷스케이프 넷스케이프 환경 제약사향 지역 파일 읽기 N N Y Y 지역 파일 쓰기 N N Y Y 파일 정보 얻기 N N Y Y 파일 삭제 N N N Y 다른 프로그램 실행 N N Y Y 다운로드된 서버와의 Y Y Y Y 네트워크 포트 연결 다른 서버와의 N Y Y Y 자바 라이브러리 로드 N Y Y Y exit의 호출 N N Y Y pop-up 창의 생성 warning Y Y Y

16.5 그래픽 사용 자바는 다양한 그래픽 기능을 제공하기 위해 java.awt.Graphics 클래스 제공 이 클래스에서 제공되는 메소드를 이용하여 다양한 형태의 그래픽을 나타낼 수 있다

16.5 그래픽 사용 Graphics 클래스의 주요 메소드 void drawArc(int x, int y, int w, startAngle과 endAngle로 지정된 각도를 int h, int startAngle, int endAngle) 가지는 원호를 그린다 void drawImage(Image img, int x, img로 지정된 이미지를 애플릿의 x,y좌표에 int y, imageObserver io) 그린다 viod drawLine(int x0, int y0, int x1, int y1) x0,y0부터 x1,y1까지 라인을 그린다 void drawOval(int x, int y, int w, int h) x,y좌표에 w,h의 폭과 높이를 가진 타원을 그린다 void drawPolygon(int x[], int y[], int n) x[]와 y[] 배열의 각 점을 좌표로 하여 n개의 코너점을 가진 다각형을 그린다 void drawRect(int x, int y, int w, int h) x,y 좌표에 w,h의 폭과 높이를 가진 사각형을 그린다 void drawString(String str, int x, int y) 문자열을 x,y 좌표에 그린다 void fillArc(int x, int y, int w, int h, 속이 찬 원호를 그린다 int startAngle, int endAngle) void fillOval(int x[], int y[], int n) 속이 찬 타원을 그린다 void fillPolygon(int x[], int y[], int n) 속이 찬 다각형을 그린다 void fillRect(int x, int y, int w, int h) 속이 찬 사각형을 그린다 Color getColor() 현재 객체의 색을 Color 객체로 반환 Font getFont() 현재 객체의 폰트를 Font 객체로 반환 FontMetrics getFontMetrics() 현재 객체의 폰트 정보를 FontMetrics 객체로 반환 void setColor(Color color) 현재 객체의 색을 color로 설정

16.5 그래픽 사용 예제 출력결과

16.5 그래픽 사용 예제 출력결과

16.5 그래픽 사용 예제 출력결과

16.5 그래픽 사용 그래픽을 애플릿의 크기에 따라 상대적인 위치에 나타내기 위해 애플릿의 크기 정보를 제공하는 Dimension 클래스를 이용 Dimension 클래스는 애플릿의 폭과 높이를 제공하는 클래스이다 생성자 Dimension(Dimension d) dimension(int w, int h) d : Dimension 객체 w,h : 애플릿의 폭과 높이

16.5 그래픽 사용 예제 출력결과

16.6 색의 사용 자바는 색에 관한 기능을 가지는 java.awt.Color 클래스를 제공 그래픽 객체에 색을 설정하기 위해서는 Color 객체를 생성한 다음 setColor() 메소드를 사용하여 설정 색을 설정하는 예 ....… public void paint(Graphics g) { ...… Color c = Color.orange; g.setColor(c); g.fillRect(100, 10, 60, 50); }

16.6 색의 사용 Color 클래스의 생성자 Color 클래스의 상수 Color(int red, int green, int blue) Color(float r, float g, float b) Color(int rgb) Color 클래스의 상수 black (0, 0, 0) blue (0, 0, 255) cyan (0, 255, 255) darkGray (64, 64, 64) gray (128, 128, 128) green (0, 255, 0) lightGray (192, 192, 192) magenta (255, 0, 255) orange (255, 200, 0) pink (255, 175, 175) red (255, 0, 0) white (255, 255, 255) yellow (255, 255, 0)

16.6 색의 사용 Color 클래스의 주요 메소드 Color brighter() 현재 객체의 색보다 한 단계 밝은 색의 Color 객체를 반환 Color darker() 현재 객체의 색보다 한 단계 어두운 색의 Color 객체를 반환 static Color decode(String str) 문자열 str과 동일한 Color 객체를 반환 throws NumberFormatException booleanequals(Object obj) 현재의 객체와 obj로 지정된 객체가 같은 색을 가지면 true, 아니면 false를 반환 int getRed() 현재 객체의 R(red)값을 반환 int getGreen() 현재 객체의 G(green)값을 반환 int getBlue() 현재 객체의 B(blue)값을 반환 int getRGB() 현재 객체의 RGB값을 반환

16.6 색의 사용 예제

16.6 색의 사용 예제

16.7 글꼴(font)의 사용 애플릿에 대한 텍스트 출력을 객체로 취급 애플릿에 텍스트를 출력하기 위해서는 Graphics 클래스의 drawString() 메소드 사용 출력되는 그래픽(텍스트)에 폰트를 지정하기 위해서는 Font 객체를 생성한 다음 setFont() 메소드를 사용하여 설정 사용 예 ......… public void paint(Graphics g) { .....… Font font = new Font("Serif", Font.ITALIC, 36); g.setFont(font); g.drawString("JAVA APPLET", 100, 50); ....… }

16.7 글꼴(font)의 사용 폰트 관련 클래스 Font 클래스 생성자 FontMetrics 클래스 생성자 Font(String name, int style, int fontsize) name : 글꼴의 이름으로서 Serif, SansSerif, Monospaced가 많이 사용 style : 상수로서 BOLD, ITALIC, PlAIN이 사용 fontsize : 글꼴의 크기 FontMetrics 클래스 생성자 FontMetrics(Font font) font : 정보를 얻고자 하는 글꼴의 이름

16.7 글꼴(font)의 사용 Font 클래스의 주요 메소드 FontMetrics 클래스의 주요 메소드 String getName() 글꼴의 이름을 반환 int getSize() 글꼴의 크기를 반환 int getStyle() 글꼴의 스타일을 반환 FontMetrics 클래스의 주요 메소드 int charWidth(char c) 문자 c의 폭을 반환 int charWidth(int i) i 값을 문자로 변환한 다음 문자의 폭을 반환 int getAscent() acent를 반환 int getDescent() descent를 반환 int getHeight() height를 반환 int getLeading() leading을 반환 int stringWidth(String str) 문자열 str의 폭을 반환

App 16.7 글꼴(font)의 사용 FontMetrics가 제공하는 글꼴 크기에 관한 정보 getAscent() 머리선 기준선 꼬리선 텍스트 다음줄 getAscent() getDescent() getHeight() getLeading()

16.7 글꼴(font)의 사용 예제

16.7 글꼴(font)의 사용 예제

16.8 HTML 애플릿 태그 애플릿을 WWW에서 사용하기 위해서는 HTML 문서내에 <APPLET> 태그를 사용하여 애플릿을 지정하여야 한다 애플릿이 포함된 HTML 문서는 대부분의 검색기나 애플릿 뷰어에 의해 수행할 수 있다

16.8 HTML 애플릿 태그 애플릿 태그 <APPLET [CODEBASE = codebaseURL] CODE = appletFile [ALT = alternateText] [NAME = appletInstanceName] WIDTH = pixels HEIGHT = pixels [ALIGN = alignment] [VSPACE = pixels] [HSPACE = pixels] > [<PARAM NAME = AttributeName1 VALUE =AttributeValue1>] [<PARAM NAME = AttributeName2 VALUE = AttributeValue2>] .....… [<PARAM NAME = AttributeNamen VALUE = AttributeValuen>] </APPLET>

16.8 HTML 애플릿 태그 CODEBASE : 애플릿 파일이 로드될 디렉토리를 지정하는 속성. 검색기는 애플릿 코드가 포함된 HTML 파일을 로드한 다음에 <APPLET>태그에서 지정된 애플릿 코드를 로드한다. 만일 CODEBASE가 지정되어 있으면 검색기는 CODEBASE에서 지정된 디렉토리로부터 애플릿 코드를 읽어 들이고, 지정되어 있지 않으면 HTML 파일이 로드된 디렉토리로부터 애플릿 코드를 읽어 들인다. CODE : 실행을 원하는 애플릿 파일을 지정 ALT : 검색기가 애플릿을 실행할 수 없을 때 나타낼 메시지를 지정하는 속성 NAME : 애플릿 객체의 이름을 지정하는 태그. 한 페이지에 여러개의 애플릿을 생성하여 애플릿간의 통신을 해야 한다면 각각의 애플릿은 이름을 가져야 한다. WIDTH와 HEIGHT : 검색기의 데이터 창에 나타낼 애플릿의 크기를 지정 VSPACE와 HSPACE : VSPACE는 애플릿의 위아래 공간을 지정하고, HSPACE는 애플릿의 양쪽옆의 공간을 지정 PARAM NAME과 VALUE : 애플릿에 넘겨줄 데이터를 지정한다. 하나의 데이터는 이름과 값으로 이루어진다. 애플릿 프로그램에서는 getParameter() 메소드를 이용하여 이 데이터 값을 가져올 수 있다.

16.8 HTML 애플릿 태그 예

16.9 이미지의 사용 Applet 클래스에서 이미지와 관련된 getImage()메소드 제공하며 이 메소드는 Image 클래스의 객체를 반환 이미지를 애플릿에 나타내기 위해서는 Graphics 클래스에서 제공하는 drawImage() 메소드를 사용하여 이미지를 나타낸다.

16.9 이미지의 사용 예

16.10 애플릿에서의 스레드 사용 애플릿 프로그램은 이미 Applet 클래스로부터 상속을 받고 있으므로 Runnable 인터페이스를 이용하여 스레드 사용 일반적으로 애플릿 스레드는 애플릿에 동적으로 그래픽을 출력하기 위해 paint() 메소드를 호출 paint() 메소드는 애플릿이 처음에 검색기나 애플릿 뷰어에 로드되거나, 또는 사용자에 의해 재로딩(reloading)이 요청되면 검색기에 의해 자동으로 호출되어 수행되는 메소드

16.10 애플릿에서의 스레드 사용 애플릿에 그래픽을 출력하는 메소드를 이해하기 위해서는 Component 클래스에서 제공되는 paint(), repaint(), update() 메소드의 기능을 이해하 여야 한다([표 16-1]참조). repaint() 메소드 : 스레드에서 애플릿이 다시 그려져야 할 필요가 있을 때는 프로그램에서 명시적으로 호출. repaint() 메소드는 JVM에게 애플릿을 다시 그릴 것을 요청하는 메소드이다. JVM은 스케줄에 따라 애플릿을 다시 그릴 것인지를 결정한 다음, update() 메소드를 호출 update() 메소드 : 현재의 애플릿을 지우고, 애플릿을 배경색으로 나타낸 다 음 paint() 메소드를 호출 paint() 메소드 : 그래픽 객체를 애플릿에 나타내는 일을 한다.

16.10 애플릿에서의 스레드 사용 예