Presentation is loading. Please wait.

Presentation is loading. Please wait.

2. 자바 애플릿.

Similar presentations


Presentation on theme: "2. 자바 애플릿."— Presentation transcript:

1 2. 자바 애플릿

2 2.1 애플릿 기초 애플릿 애플릿 기초 웹 브라우저에서 실행되는 자바 프로그램 [예제 2.1]
import java.applet.Applet;import java.awt.*; main 메소드가 없다. void drawString(String str, int i, int j) <applet code=“Hello” width=200 height=100> </applet>

3 public class Hello extends Applet { public void paint(Graphics g) {
[예제 2.1] 간단한 애플릿 프로그램 import java.applet.Applet; import java.awt.*; public class Hello extends Applet { public void paint(Graphics g) { g.drawString("Hello java", 50, 30); } } [실행결과]                                

4 2.2 애플릿의 기본 구조 init() start() stop() destory() paint(Graphics g)
repaint() init start paint stop destroy 애플릿의 실행 과정

5 2.2 애플릿의 기본 구조(계속) init() start() 웹브라우저에 의해서 자동으로 호출되는 첫번째 메소드 초기화코드
오직 한번만 실행 start() init()뒤에 자동으로 호출됨 애플릿을 포함하는 html문서가 화면에 디스플레이 될 때 마다 실행됨

6 2.2 애플릿의 기본 구조(계속) stop() destroy() 다른 페이지로 이동할 때 실행됨
애플릿 실행이 잠시 중지된 것임 destroy() 웹 브라우저의 실행을 종료 시킬 때 실행됨 애플릿에 할당된 모든 자원을 반납함

7 2.2 애플릿의 기본 구조(계속) paint() repaint() [예제 2.2]
애플릿의 출력을 그려야 할 때 자동으로 호출됨 예 : 애플릿 실행이 처음 시작될 때, 화면이 가려졌다가 다시 보일 때, 화면이 아이콘화 되었다가 화면 복귀할 때 등 repaint() 임의의 시점에서 그림을 다시 그려야 할 때 명시적으로 호출함 [예제 2.2]

8 public class ExecSeq extends Applet { int init=0, start=0, stop=0;
[예제 2.2] 애플릿 실행과정을 보이는 예 /* <applet code="ExecSeq" width="200" height="100"> </applet> */ import java.applet.*; import java.awt.*; public class ExecSeq extends Applet { int init=0, start=0, stop=0; String msg1, msg2, msg3; public void init() { init++; } public void start() { start++; } public void stop() { stop++; } public void paint(Graphics g) { msg1="The number of init() call: " + init; msg2="The number of start() call: " + start; msg3="The number of stop() call: " + stop; g.drawString(msg1, 20, 40); g.drawString(msg2, 20, 60); g.drawString(msg3, 20, 80); }

9 [실행결과]                                                                            [처음 실행 모습]             [4번 아이콘화된 이후]

10 2.3 HTML에서의 <applet> 태그
<APPLET [CODEBASE = 애플릿 코드가 있는 곳에 대한 URL] CODE = 애플릿파일 [ALT = 교체텍스트] [NAME = 애플릿 인스턴스 이름] WIDTH = 픽셀수 HEIGHT = 픽셀수 [ALIGN = 정렬값] [VSPACE = 픽셀수] [HSPACE = 픽셀수] > [<PARAM NAME = 애플릿파라미터명1 VALUE=값>] [<PARAM NAME = 애플릿파라미터명2 VALUE=값>] </APPLET>

11 2.4 HTML 파일에서 애플릿으로 매개변수 전달 String getParameter(String parmName) 예:
<param name=“SIZE” value=“55”> 대응되는 애플릿 코드 String fontSize = getParameter(“SIZE”); [예제 2.3]

12 import java.awt.Graphics;
[예제 2.3] HTML에서 애플릿으로 매개변수 전달 예 import java.applet.*; import java.awt.Graphics; /* <applet code="Param" width="300" height="80"> <param name="degree" value="20"> <param name="Message" value="안녕"> </applet> */ public class Param extends Applet { String m1, m2; int size; public void start() { m1 = getParameter("Message"); if (m1 == null) m1 = "No good"; m2 = getParameter("degree"); if (m2 == null) size = 5; else size = Integer.parseInt(m2); } public void paint(Graphics g) { g.drawString("Message received: " + m1, 0, 15); g.drawString("Degree: " + size, 0, 40);

13 [실행결과]                                              

14 2.5 AWT를 이용한 간단한 프로그래밍 스트링 그리기 선 그리기 [예제 2.4]
void drawString(string msg, int x, int y) 선 그리기 void drawLine(int x1, int y1, int x2, int y2) [예제 2.4]

15 [실행결과] import java.awt.Graphics;
[예제 2.4] 선 그리기 import java.applet.*; import java.awt.Graphics; /* <applet code="LineTest" width="200" height="100"> </applet> */ public class LineTest extends Applet { public void paint(Graphics g) { g.drawLine(20, 40, 160, 80); g.drawLine(180, 20, 50, 90); } [실행결과]                                

16 2.5 AWT를 이용한 간단한 프로그래밍(계속) 사각형 그리기 [예제 2.5]
void drawRect(int x, int y, int width, int height) void fillRect(int x, int y, int width, int height) void drawRoundRect(int x, int y, int width, int height, int rw, int rh) void fillRoundRect(int x, int y, int width, int height, int rw, int rh) [예제 2.5]

17 import java.awt.Graphics;
[예제 2.5] 사각형 그리기 import java.applet.*; import java.awt.Graphics; /* <applet code="RectangleTest" width="200" height="150"> </applet> */ public class RectangleTest extends Applet { public void paint(Graphics g) { g.drawRect(40, 20, 50, 50); g.fillRect(100, 20, 50, 50); g.drawRoundRect(40, 90, 50, 50, 20, 20); g.fillRoundRect(100, 90, 50, 50, 20, 20); } } [실행결과]                               

18 2.5 AWT를 이용한 간단한 프로그래밍(계속) 원, 타원 그리기
void drawOval(int x, int y, int width, int height) void fillOval(int x, int y, int width, int height) [예제 2.6]

19 import java.awt.Graphics;
[예제 2.6] 원과 타원 그리기 import java.applet.*; import java.awt.Graphics; /* <applet code="OvalTest" width="200" height="100"> </applet> */ public class OvalTest extends Applet { public void paint(Graphics g) { g.drawOval(40, 20, 50, 50); g.fillOval(100, 20, 50, 80); } [실행결과]                                

20 2.5 AWT를 이용한 간단한 프로그래밍(계속) 호 그리기 [예제 2.7]
void drawArc(int x, int y, int width, int height, int aDegree, int bDegree) void fillArc(int x, int y, int width, int height, int aDegree, int bDegree) [예제 2.7]

21 import java.awt.Graphics;
[예제 2.7] 호 그리기 import java.applet.*; import java.awt.Graphics; /* <applet code="ArcTest" width="200" height="100"> </applet> */ public class ArcTest extends Applet { public void paint(Graphics g) { g.drawArc(40, 20, 50, 50, 90, 180); g.fillArc(100, 20, 50, 80, 45, 240); } } [실행결과]                                

22 2.5 AWT를 이용한 간단한 프로그래밍(계속) 다각형 그리기 [예제 2.8]
void drawPolygon(int[] x, int[] y, int nPoints) void fillPolygon(Int[] x, int[] y, int nPoints) [예제 2.8]

23 import java.awt.Graphics;
[예제 2.8] 다각형 그리기 import java.applet.*; import java.awt.Graphics; /* <applet code="PolygonTest" width="200" height="150"> </applet> */ public class PolygonTest extends Applet { public void paint(Graphics g) { int[] x1={50, 25, 60, 90, 55}; int[] y1={50, 70, 95, 40, 30}; int n1=x1.length; int[] x2={130, 105, 140, 170, 135}; int[] y2={50, 70, 95, 40, 30}; int n2=x2.length; g.drawPolygon(x1, y1, n1); g.fillPolygon(x2, y2, n2); } } [실행결과]                                

24 2.5 AWT를 이용한 간단한 프로그래밍(색) void setColor(Color newColor)
void setBackground(Color newColor) void setForeground(Color newColor) 클래스 Color의 생성자를 이용한 색 지정 Color(int r, int g, int b) // 0에서 255 사이의 값 Color(float r, float g, float b) // 0.0에서 1.0 사이의 값 자바에서 자주 사용하는 Color 상수 Color.black, Color.blue, Color.cyan, Color.darkGray, Color.gray, Color.green, Color.lightGray, Color.magenta, Color.orange, Color.white, Color.red, Color.pink, Color.yellow [예제 2.9]

25 import java.awt.Graphics; import java.awt.Color;
[예제 2.9] 색 지정의 예 import java.applet.*; import java.awt.Graphics; import java.awt.Color; /* <applet code="ColorTest" width="200" height="150"> </applet> */ public class ColorTest extends Applet { public void paint(Graphics g) { int i; for (i=1; i<6; i++) { switch (i) { case 1 : g.setColor(Color.red); break; case 2 : g.setColor(Color.pink); break; case 3 : g.setColor(Color.orange); break; case 4 : g.setColor(Color.magenta); break; case 5 : g.setColor(new Color(0, 0, 255)); break; } g.drawString("Hello Java", 30, i*20); } [실행결과]                                

26 [실행결과]

27 2.5 AWT를 이용한 간단한 프로그래밍(글꼴) [예제 2.10] 자바에서 지원하는 기본 글꼴 스타일 클래스 Font의 생성자
Courier, Dialog, DialogInput Helvetica, TimesRoman, ZapfDingbats 스타일 Font.PLAIN, Font.ITALIC, Font.BOLD, Font.BOLD+Font.ITALIC 클래스 Font의 생성자 Font(Sring fontName, int fontStyle, int size) void setFont(Font fontObject) [예제 2.10]

28 import java.awt.Color; import java.awt.Font;
[예제 2.10] 글꼴 지정의 예 import java.applet.*; import java.awt.Graphics; import java.awt.Color; import java.awt.Font; /* <applet code="FontTest" width="420" height="100"> </applet> */ public class FontTest extends Applet { public void paint(Graphics g) { Font fp = new Font("TimesRoman", Font.PLAIN, 17); Font fb = new Font("Helventica", Font.BOLD, 17); Font fi = new Font("Courier", Font.ITALIC, 17); Font fbi = new Font("Dialog", Font.BOLD+Font.ITALIC, 17); g.setFont(fp); g.setColor(Color.black); g.drawString("Font:TimesRoman,Styles:Plain,Color:Black", 10, 22); g.setFont(fb); g.setColor(Color.red); g.drawString("Font:Helventica, Styles:Bold, Color:Red", 10, 44); g.setFont(fi); g.setColor(Color.blue); g.drawString("Font:Courier, Styles:Italic, Color:Blue", 10, 66); g.setFont(fbi); g.setColor(Color.green); g.drawString("Font:Dialog,Styles:Bold+Italic,Color:Green",10, 88); }

29 [실행결과]                                                                 


Download ppt "2. 자바 애플릿."

Similar presentations


Ads by Google